| -- 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_', |
| 'ZSTD_LEGACY_SUPPORT=' .. legacy |
| } |
| end |