| project(zstd C) |
| |
| # Disable warnings to avoid changing 3rd party code. |
| if(CMAKE_C_COMPILER_ID MATCHES |
| "^(GNU|LCC|Clang|AppleClang|IBMClang|XLClang|XL|VisualAge|SunPro|HP|Intel|IntelLLVM|NVHPC)$") |
| set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") |
| elseif(CMAKE_C_COMPILER_ID STREQUAL "PathScale") |
| set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -woffall") |
| endif() |
| |
| include_directories(lib lib/common) |
| |
| add_library(cmzstd STATIC |
| lib/common/entropy_common.c |
| lib/common/error_private.c |
| lib/common/fse_decompress.c |
| lib/common/pool.c |
| lib/common/threading.c |
| lib/common/xxhash.c |
| lib/common/zstd_common.c |
| lib/compress/fse_compress.c |
| lib/compress/hist.c |
| lib/compress/huf_compress.c |
| lib/compress/zstd_compress_literals.c |
| lib/compress/zstd_compress.c |
| lib/compress/zstd_compress_sequences.c |
| lib/compress/zstd_compress_superblock.c |
| lib/compress/zstd_double_fast.c |
| lib/compress/zstd_fast.c |
| lib/compress/zstd_lazy.c |
| lib/compress/zstd_ldm.c |
| lib/compress/zstdmt_compress.c |
| lib/compress/zstd_opt.c |
| lib/decompress/huf_decompress.c |
| lib/decompress/zstd_ddict.c |
| lib/decompress/zstd_decompress_block.c |
| lib/decompress/zstd_decompress.c |
| lib/deprecated/zbuff_common.c |
| lib/deprecated/zbuff_compress.c |
| lib/deprecated/zbuff_decompress.c |
| lib/dictBuilder/cover.c |
| lib/dictBuilder/divsufsort.c |
| lib/dictBuilder/fastcover.c |
| lib/dictBuilder/zdict.c |
| ) |
| |
| target_compile_definitions(cmzstd PRIVATE |
| # BMI2 instructions are not supported in older environments. |
| DYNAMIC_BMI2=0 |
| # Explicitly disable ASM build to work with more compilers. |
| # Our vendored zstd does not include the assembly language file. |
| ZSTD_DISABLE_ASM=1 |
| ) |
| |
| install(FILES LICENSE DESTINATION ${CMAKE_DOC_DIR}/cmzstd) |