cmake_minimum_required (VERSION 3.10.0) project (libzstd_static) set(SRC_DIR ../zstd/lib) set(ALL_SOURCE_FILES ${SRC_DIR}/common/debug.c ${SRC_DIR}/common/entropy_common.c ${SRC_DIR}/common/error_private.c ${SRC_DIR}/common/fse_decompress.c ${SRC_DIR}/common/pool.c ${SRC_DIR}/common/threading.c ${SRC_DIR}/common/xxhash.c ${SRC_DIR}/common/zstd_common.c ${SRC_DIR}/compress/fse_compress.c ${SRC_DIR}/compress/hist.c ${SRC_DIR}/compress/huf_compress.c ${SRC_DIR}/compress/zstd_compress.c ${SRC_DIR}/compress/zstd_compress_literals.c ${SRC_DIR}/compress/zstd_compress_sequences.c ${SRC_DIR}/compress/zstd_compress_superblock.c ${SRC_DIR}/compress/zstd_double_fast.c ${SRC_DIR}/compress/zstd_fast.c ${SRC_DIR}/compress/zstd_lazy.c ${SRC_DIR}/compress/zstd_ldm.c ${SRC_DIR}/compress/zstd_opt.c ${SRC_DIR}/compress/zstd_preSplit.c ${SRC_DIR}/compress/zstdmt_compress.c ${SRC_DIR}/decompress/huf_decompress.c ${SRC_DIR}/decompress/zstd_ddict.c ${SRC_DIR}/decompress/zstd_decompress.c ${SRC_DIR}/decompress/zstd_decompress_block.c ${SRC_DIR}/dictBuilder/cover.c ${SRC_DIR}/dictBuilder/divsufsort.c ${SRC_DIR}/dictBuilder/fastcover.c ${SRC_DIR}/dictBuilder/zdict.c ) if (MSVC) add_compile_options(-DZSTD_DISABLE_ASM) else () if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|AMD64.*|x86_64.*|X86_64.*") set(ALL_SOURCE_FILES ${ALL_SOURCE_FILES} ${SRC_DIR}/decompress/huf_decompress_amd64.S) else() add_compile_options(-DZSTD_DISABLE_ASM) endif() endif () add_library(libzstd_static STATIC ${ALL_SOURCE_FILES}) target_include_directories(libzstd_static PUBLIC ../zstd/lib)