r5sdk/r5dev/thirdparty/zip/CMakeLists.txt
Kawe Mazidjatari ce99a2653c Add thirdparty compression libraries
Added:
- Zlib
- Bzip2
- LZMA

And a wrapper for zip.
2023-07-28 16:43:23 +02:00

95 lines
2.7 KiB
CMake

cmake_minimum_required( VERSION 3.16 )
add_module( "lib" "libzip" "" ${FOLDER_CONTEXT} TRUE TRUE )
start_sources()
add_sources( SOURCE_GROUP "compression"
"src/compression/compression_interface.h"
)
add_sources( SOURCE_GROUP "Compression/Bzip2"
"src/compression/bzip2/bzip2_decoder.h"
"src/compression/bzip2/bzip2_decoder_properties.h"
"src/compression/bzip2/bzip2_encoder.h"
"src/compression/bzip2/bzip2_encoder_properties.h"
)
add_sources( SOURCE_GROUP "Compression/Deflate"
"src/compression/deflate/deflate_decoder.h"
"src/compression/deflate/deflate_decoder_properties.h"
"src/compression/deflate/deflate_encoder.h"
"src/compression/deflate/deflate_encoder_properties.h"
)
add_sources( SOURCE_GROUP "Compression/LZMA/Detail"
"src/compression/lzma/detail/lzma_alloc.h"
"src/compression/lzma/detail/lzma_handle.h"
"src/compression/lzma/detail/lzma_header.h"
"src/compression/lzma/detail/lzma_in_stream.h"
"src/compression/lzma/detail/lzma_out_stream.h"
)
add_sources( SOURCE_GROUP "Compression/LZMA"
"src/compression/lzma/lzma_decoder.h"
"src/compression/lzma/lzma_decoder_properties.h"
"src/compression/lzma/lzma_encoder.h"
"src/compression/lzma/lzma_encoder_properties.h"
)
add_sources( SOURCE_GROUP "Compression/Store"
"src/compression/store/store_decoder.h"
"src/compression/store/store_decoder_properties.h"
"src/compression/store/store_encoder.h"
"src/compression/store/store_encoder_properties.h"
)
add_sources( SOURCE_GROUP "Detail"
"src/detail/EndOfCentralDirectoryBlock.cpp"
"src/detail/EndOfCentralDirectoryBlock.h"
"src/detail/ZipCentralDirectoryFileHeader.cpp"
"src/detail/ZipCentralDirectoryFileHeader.h"
"src/detail/ZipGenericExtraField.cpp"
"src/detail/ZipGenericExtraField.h"
"src/detail/ZipLocalFileHeader.cpp"
"src/detail/ZipLocalFileHeader.h"
)
add_sources( SOURCE_GROUP "Methods"
"src/methods/Bzip2Method.h"
"src/methods/DeflateMethod.h"
"src/methods/ICompressionMethod.h"
"src/methods/LzmaMethod.h"
"src/methods/StoreMethod.h"
"src/methods/ZipMethodResolver.h"
)
add_sources( SOURCE_GROUP "Streams"
"src/streams/compression_decoder_stream.h"
"src/streams/compression_encoder_stream.h"
"src/streams/crc32stream.h"
"src/streams/memstream.h"
"src/streams/nullstream.h"
"src/streams/serialization.h"
"src/streams/substream.h"
"src/streams/teestream.h"
"src/streams/zip_cryptostream.h"
)
add_sources( SOURCE_GROUP "Utils"
"src/utils/enum_utils.h"
"src/utils/stream_utils.h"
"src/utils/time_utils.h"
)
add_sources( SOURCE_GROUP "Utils"
"src/ZipArchive.cpp"
"src/ZipArchive.h"
"src/ZipArchiveEntry.cpp"
"src/ZipArchiveEntry.h"
"src/ZipFile.cpp"
"src/ZipFile.h"
)
end_sources()
whole_program_optimization()
thirdparty_suppress_warnings()
target_compile_definitions( ${PROJECT_NAME} PRIVATE
"WIN32"
)