-- This GENie/premake file copies the behavior of the Makefile in the lib folder. -- Basic usage: project_zstd(ZSTD_DIR) function project_zstd(dir, compression, decompression, deprecated, dictbuilder, legacy) if compression == nil then compression = true end if decompression == nil then decompression = true end if deprecated == nil then deprecated = false end if dictbuilder == nil then dictbuilder = false end if legacy == nil then legacy = 0 end if not compression then dictbuilder = false deprecated = false end if not decompression then legacy = 0 deprecated = false end project "zstd" kind "StaticLib" language "C" files { dir .. "zstd.h", dir .. "common/**.c", dir .. "common/**.h" } if compression then files { dir .. "compress/**.c", dir .. "compress/**.h" } end if decompression then files { dir .. "decompress/**.c", dir .. "decompress/**.h" } end if dictbuilder then files { dir .. "dictBuilder/**.c", dir .. "dictBuilder/**.h" } end if deprecated then files { dir .. "deprecated/**.c", dir .. "deprecated/**.h" } end if legacy ~= 0 then if legacy >= 8 then files { dir .. "legacy/zstd_v0" .. (legacy - 7) .. ".*" } end includedirs { dir .. "legacy" } end includedirs { dir, dir .. "common" } defines { "XXH_NAMESPACE=ZSTD_", -- See here on why: https://gitlab.kitware.com/cmake/cmake/-/issues/25744 "ZSTD_DISABLE_ASM=1", "ZSTD_LEGACY_SUPPORT=" .. legacy } end group("third_party") project("zstd") uuid("df336aac-f0c8-11ed-a05b-0242ac120003") project_zstd("./zstd/lib/")