64 lines
1.5 KiB
Lua
64 lines
1.5 KiB
Lua
group("third_party")
|
|
project("zlib-ng")
|
|
uuid("13d4073d-f1c9-47e3-a057-79b133596fc2")
|
|
kind("StaticLib")
|
|
language("C")
|
|
|
|
defines({
|
|
"X86_FEATURES",
|
|
"X86_HAVE_XSAVE_INTRIN",
|
|
"X86_SSSE3",
|
|
"X86_SSE42",
|
|
"WITH_GZFILEOP",
|
|
})
|
|
if os.istarget("windows") then
|
|
defines({
|
|
"X86_SSE2",
|
|
"X86_AVX2",
|
|
"X86_AVX512",
|
|
"X86_AVX512VNNI",
|
|
"X86_PCLMULQDQ_CRC",
|
|
"X86_VPCLMULQDQ_CRC",
|
|
})
|
|
end
|
|
|
|
files({
|
|
"zlib-ng/*.c",
|
|
"zlib-ng/arch/x86/*.c",
|
|
"zlib-ng/arch/generic/*.c",
|
|
})
|
|
if not os.istarget("windows") then
|
|
removefiles({
|
|
"zlib-ng/arch/x86/adler32_avx2.c",
|
|
"zlib-ng/arch/x86/adler32_avx512.c",
|
|
"zlib-ng/arch/x86/adler32_avx512_vnni.c",
|
|
"zlib-ng/arch/x86/chunkset_avx2.c",
|
|
"zlib-ng/arch/x86/compare256_avx2.c",
|
|
"zlib-ng/arch/x86/crc32_pclmulqdq.c",
|
|
"zlib-ng/arch/x86/crc32_vpclmulqdq.c",
|
|
"zlib-ng/arch/x86/slide_hash_avx2.c",
|
|
})
|
|
end
|
|
|
|
includedirs({
|
|
"zlib-ng",
|
|
})
|
|
|
|
local zlibng_dir = path.getabsolute("zlib-ng")
|
|
local zlibng_h_src_files = {
|
|
path.join(zlibng_build_dir, "zlib-ng.h"),
|
|
path.join(zlibng_build_dir, "zconf-ng.h"),
|
|
path.join(zlibng_build_dir, "zlib_name_mangling-ng.h"),
|
|
path.join(zlibng_build_dir, "gzread.c"),
|
|
}
|
|
for i = 1,#zlibng_h_src_files,1
|
|
do
|
|
if not os.isfile(path.join(zlibng_dir, zlibng_h_src_files[i])) then
|
|
zlibng_build = true
|
|
break
|
|
end
|
|
end
|
|
if zlibng_build then
|
|
os.execute("cmake -DZLIB_ENABLE_TESTS=OFF -DWITH_GTEST=OFF "..zlibng_dir.." -B"..zlibng_dir)
|
|
end
|