| We can't run the configure script on Windows, and the only thing lzma provides |
| for Windows are msbuild files which do not integrate well into our CMake build system, |
| so we create a Windows-specific CMakeLists.txt for the project. |
| |
| diff -rupN orig/CMakeLists.txt patched/CMakeLists.txt |
| --- orig/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 |
| +++ patched/CMakeLists.txt 2020-03-31 21:52:39.000000000 +0200 |
| @@ -0,0 +1,114 @@ |
| +cmake_minimum_required(VERSION 3.7) |
| + |
| +project(liblzma) |
| + |
| +set(SOURCES src/common/tuklib_cpucores.c |
| + src/common/tuklib_physmem.c |
| + src/liblzma/check/check.c |
| + src/liblzma/check/crc32_fast.c |
| + src/liblzma/check/crc32_table.c |
| + src/liblzma/check/crc64_fast.c |
| + src/liblzma/check/crc64_table.c |
| + src/liblzma/check/sha256.c |
| + src/liblzma/common/alone_decoder.c |
| + src/liblzma/common/alone_encoder.c |
| + src/liblzma/common/auto_decoder.c |
| + src/liblzma/common/block_buffer_decoder.c |
| + src/liblzma/common/block_buffer_encoder.c |
| + src/liblzma/common/block_decoder.c |
| + src/liblzma/common/block_encoder.c |
| + src/liblzma/common/block_header_decoder.c |
| + src/liblzma/common/block_header_encoder.c |
| + src/liblzma/common/block_util.c |
| + src/liblzma/common/common.c |
| + src/liblzma/common/easy_buffer_encoder.c |
| + src/liblzma/common/easy_decoder_memusage.c |
| + src/liblzma/common/easy_encoder.c |
| + src/liblzma/common/easy_encoder_memusage.c |
| + src/liblzma/common/easy_preset.c |
| + src/liblzma/common/filter_buffer_decoder.c |
| + src/liblzma/common/filter_buffer_encoder.c |
| + src/liblzma/common/filter_common.c |
| + src/liblzma/common/filter_decoder.c |
| + src/liblzma/common/filter_encoder.c |
| + src/liblzma/common/filter_flags_decoder.c |
| + src/liblzma/common/filter_flags_encoder.c |
| + src/liblzma/common/hardware_cputhreads.c |
| + src/liblzma/common/hardware_physmem.c |
| + src/liblzma/common/index.c |
| + src/liblzma/common/index_decoder.c |
| + src/liblzma/common/index_encoder.c |
| + src/liblzma/common/index_hash.c |
| + src/liblzma/common/outqueue.c |
| + src/liblzma/common/stream_buffer_decoder.c |
| + src/liblzma/common/stream_buffer_encoder.c |
| + src/liblzma/common/stream_decoder.c |
| + src/liblzma/common/stream_encoder.c |
| + src/liblzma/common/stream_encoder_mt.c |
| + src/liblzma/common/stream_flags_common.c |
| + src/liblzma/common/stream_flags_decoder.c |
| + src/liblzma/common/stream_flags_encoder.c |
| + src/liblzma/common/vli_decoder.c |
| + src/liblzma/common/vli_encoder.c |
| + src/liblzma/common/vli_size.c |
| + src/liblzma/delta/delta_common.c |
| + src/liblzma/delta/delta_decoder.c |
| + src/liblzma/delta/delta_encoder.c |
| + src/liblzma/lzma/fastpos_table.c |
| + src/liblzma/lzma/lzma2_decoder.c |
| + src/liblzma/lzma/lzma2_encoder.c |
| + src/liblzma/lzma/lzma_decoder.c |
| + src/liblzma/lzma/lzma_encoder.c |
| + src/liblzma/lzma/lzma_encoder_optimum_fast.c |
| + src/liblzma/lzma/lzma_encoder_optimum_normal.c |
| + src/liblzma/lzma/lzma_encoder_presets.c |
| + src/liblzma/lz/lz_decoder.c |
| + src/liblzma/lz/lz_encoder.c |
| + src/liblzma/lz/lz_encoder_mf.c |
| + src/liblzma/rangecoder/price_table.c |
| + src/liblzma/simple/arm.c |
| + src/liblzma/simple/armthumb.c |
| + src/liblzma/simple/ia64.c |
| + src/liblzma/simple/powerpc.c |
| + src/liblzma/simple/simple_coder.c |
| + src/liblzma/simple/simple_decoder.c |
| + src/liblzma/simple/simple_encoder.c |
| + src/liblzma/simple/sparc.c |
| + src/liblzma/simple/x86.c) |
| + |
| +if(WIN32) |
| + configure_file(windows/vs2017/config.h config.h COPYONLY) |
| +endif() |
| + |
| +add_library(lzma STATIC ${SOURCES}) |
| + |
| +set_property(TARGET lzma PROPERTY POSITION_INDEPENDENT_CODE ON) |
| + |
| +target_include_directories(lzma |
| + PRIVATE |
| + ${CMAKE_BINARY_DIR} |
| + src/liblzma/common |
| + src/common |
| + src/liblzma/api |
| + src/liblzma/check |
| + src/liblzma/delta |
| + src/liblzma/lz |
| + src/liblzma/lzma |
| + src/liblzma/rangecoder |
| + src/liblzma/simple) |
| + |
| +if(WIN32) |
| + target_compile_definitions(lzma |
| + PRIVATE |
| + WIN32 |
| + HAVE_CONFIG_H |
| + NDEBUG |
| + _LIB) |
| +endif() |
| + |
| +install(TARGETS lzma |
| + ARCHIVE DESTINATION lib |
| +) |
| + |
| +install(DIRECTORY src/liblzma/api/ DESTINATION include |
| + FILES_MATCHING PATTERN "*.h") |