1-- This GENie/premake file copies the behavior of the Makefile in the lib folder. 2-- Basic usage: project_zstd(ZSTD_DIR) 3 4function project_zstd(dir, compression, decompression, deprecated, dictbuilder, legacy) 5 if compression == nil then compression = true end 6 if decompression == nil then decompression = true end 7 if deprecated == nil then deprecated = false end 8 if dictbuilder == nil then dictbuilder = false end 9 10 if legacy == nil then legacy = 0 end 11 12 if not compression then 13 dictbuilder = false 14 deprecated = false 15 end 16 17 if not decompression then 18 legacy = 0 19 deprecated = false 20 end 21 22 project 'zstd' 23 kind 'StaticLib' 24 language 'C' 25 26 files { 27 dir .. 'zstd.h', 28 dir .. 'common/**.c', 29 dir .. 'common/**.h' 30 } 31 32 if compression then 33 files { 34 dir .. 'compress/**.c', 35 dir .. 'compress/**.h' 36 } 37 end 38 39 if decompression then 40 files { 41 dir .. 'decompress/**.c', 42 dir .. 'decompress/**.h' 43 } 44 end 45 46 if dictbuilder then 47 files { 48 dir .. 'dictBuilder/**.c', 49 dir .. 'dictBuilder/**.h' 50 } 51 end 52 53 if deprecated then 54 files { 55 dir .. 'deprecated/**.c', 56 dir .. 'deprecated/**.h' 57 } 58 end 59 60 if legacy ~= 0 then 61 if legacy >= 8 then 62 files { 63 dir .. 'legacy/zstd_v0' .. (legacy - 7) .. '.*' 64 } 65 end 66 includedirs { 67 dir .. 'legacy' 68 } 69 end 70 71 includedirs { 72 dir, 73 dir .. 'common' 74 } 75 76 defines { 77 'XXH_NAMESPACE=ZSTD_', 78 'ZSTD_LEGACY_SUPPORT=' .. legacy 79 } 80end 81