
list(APPEND compression_LIB_INCLUDES 
    StreamCompressor.cpp
    huffman/HuffmanEncoder.cpp
    huffman/HuffmanStream.cpp
    huffman/HuffmanCodeLengthTable.cpp
    huffman/HuffmanTree.cpp
    RunLengthEncoder.cpp
    ZlibEncoder.cpp
    deflate/DeflateEncoder.cpp
    deflate/DeflateBlock.cpp
    Lz77Encoder.cpp
    CyclicRedundancyChecker.cpp
    )

add_library(compression SHARED ${compression_LIB_INCLUDES})

target_include_directories(compression PUBLIC
                          ${CMAKE_CURRENT_SOURCE_DIR}
                          ${CMAKE_CURRENT_SOURCE_DIR}/deflate
                          ${CMAKE_CURRENT_SOURCE_DIR}/huffman
                          )
                          
target_link_libraries(compression PUBLIC core)
set_property(TARGET compression PROPERTY FOLDER src)
set_target_properties( compression PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON )
