CMakeLists.txt 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. project(lzma)
  2. add_library(lzma STATIC)
  3. add_library(OBS::lzma ALIAS lzma)
  4. target_sources(lzma PRIVATE config.h)
  5. target_sources(
  6. lzma
  7. PRIVATE liblzma/check/check.c liblzma/check/crc32_table.c
  8. liblzma/check/crc32_fast.c liblzma/check/crc64_table.c
  9. liblzma/check/crc64_fast.c liblzma/check/sha256.c)
  10. target_sources(
  11. lzma
  12. PRIVATE liblzma/common/common.c
  13. liblzma/common/block_util.c
  14. liblzma/common/easy_preset.c
  15. liblzma/common/filter_common.c
  16. liblzma/common/hardware_physmem.c
  17. liblzma/common/index.c
  18. liblzma/common/stream_flags_common.c
  19. liblzma/common/vli_size.c
  20. liblzma/common/alone_encoder.c
  21. liblzma/common/block_buffer_encoder.c
  22. liblzma/common/block_encoder.c
  23. liblzma/common/block_header_encoder.c
  24. liblzma/common/easy_buffer_encoder.c
  25. liblzma/common/easy_encoder.c
  26. liblzma/common/easy_encoder_memusage.c
  27. liblzma/common/filter_buffer_encoder.c
  28. liblzma/common/filter_encoder.c
  29. liblzma/common/filter_flags_encoder.c
  30. liblzma/common/index_encoder.c
  31. liblzma/common/stream_buffer_encoder.c
  32. liblzma/common/stream_encoder.c
  33. liblzma/common/stream_flags_encoder.c
  34. liblzma/common/vli_encoder.c
  35. liblzma/common/alone_decoder.c
  36. liblzma/common/auto_decoder.c
  37. liblzma/common/block_buffer_decoder.c
  38. liblzma/common/block_decoder.c
  39. liblzma/common/block_header_decoder.c
  40. liblzma/common/easy_decoder_memusage.c
  41. liblzma/common/filter_buffer_decoder.c
  42. liblzma/common/filter_decoder.c
  43. liblzma/common/filter_flags_decoder.c
  44. liblzma/common/index_decoder.c
  45. liblzma/common/index_hash.c
  46. liblzma/common/stream_buffer_decoder.c
  47. liblzma/common/stream_decoder.c
  48. liblzma/common/stream_flags_decoder.c
  49. liblzma/common/vli_decoder.c)
  50. target_sources(
  51. lzma PRIVATE liblzma/delta/delta_common.c liblzma/delta/delta_encoder.c
  52. liblzma/delta/delta_decoder.c)
  53. target_sources(
  54. lzma
  55. PRIVATE liblzma/lzma/lzma_encoder.c
  56. liblzma/lzma/lzma_encoder_presets.c
  57. liblzma/lzma/lzma_encoder_optimum_fast.c
  58. liblzma/lzma/lzma_encoder_optimum_normal.c
  59. liblzma/lzma/fastpos_table.c
  60. liblzma/lzma/lzma_decoder.c
  61. liblzma/lzma/lzma2_encoder.c
  62. liblzma/lzma/lzma2_decoder.c)
  63. target_sources(lzma PRIVATE liblzma/lz/lz_encoder.c liblzma/lz/lz_encoder_mf.c
  64. liblzma/lz/lz_decoder.c)
  65. target_sources(lzma PRIVATE liblzma/rangecoder/price_table.c)
  66. target_sources(
  67. lzma
  68. PRIVATE liblzma/simple/simple_coder.c
  69. liblzma/simple/simple_encoder.c
  70. liblzma/simple/simple_decoder.c
  71. liblzma/simple/arm.c
  72. liblzma/simple/armthumb.c
  73. liblzma/simple/ia64.c
  74. liblzma/simple/powerpc.c
  75. liblzma/simple/sparc.c
  76. liblzma/simple/x86.c)
  77. target_compile_definitions(lzma PRIVATE HAVE_CONFIG_H
  78. TUKLIB_SYMBOL_PREFIX=lzma_)
  79. target_include_directories(
  80. lzma
  81. PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
  82. ${CMAKE_CURRENT_SOURCE_DIR}/common
  83. ${CMAKE_CURRENT_SOURCE_DIR}/liblzma/check
  84. ${CMAKE_CURRENT_SOURCE_DIR}/liblzma/common
  85. ${CMAKE_CURRENT_SOURCE_DIR}/liblzma/delta
  86. ${CMAKE_CURRENT_SOURCE_DIR}/liblzma/lz
  87. ${CMAKE_CURRENT_SOURCE_DIR}/liblzma/lzma
  88. ${CMAKE_CURRENT_SOURCE_DIR}/liblzma/rangecoder
  89. ${CMAKE_CURRENT_SOURCE_DIR}/liblzma/simple
  90. PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/liblzma/api)
  91. if(OS_WINDOWS)
  92. if(MSVC)
  93. target_compile_options(lzma PRIVATE "$<IF:$<CONFIG:Debug>,/MTd,/MT>" /Zl
  94. /wd4244 /wd4267)
  95. endif()
  96. target_compile_definitions(lzma PRIVATE inline=_inline restrict=__restrict)
  97. endif()
  98. set_target_properties(lzma PROPERTIES FOLDER "deps")