package An official xmake package repository
https://xrepo.xmake.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
3.7 KiB
115 lines
3.7 KiB
1 year ago
|
add_rules("mode.debug", "mode.release")
|
||
|
|
||
|
option("mimalloc", {default = false, showmenu = true, description = "Use mimalloc"})
|
||
|
|
||
|
if has_config("mimalloc") then
|
||
|
add_requires("mimalloc")
|
||
|
end
|
||
|
|
||
|
target("lzham_codec")
|
||
|
set_kind("$(kind)")
|
||
|
set_languages("cxx14")
|
||
|
add_options("mimalloc")
|
||
|
add_files(
|
||
|
"lzhamlib/lzham_lib.cpp",
|
||
|
|
||
|
"lzhamcomp/lzham_lzbase.cpp",
|
||
|
"lzhamcomp/lzham_lzcomp_internal.cpp",
|
||
|
"lzhamcomp/lzham_lzcomp_state.cpp",
|
||
|
"lzhamcomp/lzham_lzcomp.cpp",
|
||
|
"lzhamcomp/lzham_match_accel.cpp",
|
||
|
|
||
|
"lzhamdecomp/lzham_assert.cpp",
|
||
|
"lzhamdecomp/lzham_checksum.cpp",
|
||
|
"lzhamdecomp/lzham_huffman_codes.cpp",
|
||
|
"lzhamdecomp/lzham_lzdecomp.cpp",
|
||
|
"lzhamdecomp/lzham_lzdecompbase.cpp",
|
||
|
"lzhamdecomp/lzham_mem.cpp",
|
||
|
"lzhamdecomp/lzham_platform.cpp",
|
||
|
"lzhamdecomp/lzham_prefix_coding.cpp",
|
||
|
"lzhamdecomp/lzham_symbol_codec.cpp",
|
||
|
"lzhamdecomp/lzham_timer.cpp",
|
||
|
"lzhamdecomp/lzham_vector.cpp"
|
||
|
)
|
||
|
add_headerfiles(
|
||
|
"include/lzham_dynamic_lib.h",
|
||
|
"include/lzham_static_lib.h",
|
||
|
"include/lzham.h",
|
||
|
"include/zlib.h",
|
||
|
|
||
|
"lzhamcomp/lzham_comp.h",
|
||
|
"lzhamcomp/lzham_lzbase.h",
|
||
|
"lzhamcomp/lzham_lzcomp_internal.h",
|
||
|
"lzhamcomp/lzham_match_accel.h",
|
||
|
"lzhamcomp/lzham_null_threading.h",
|
||
|
"lzhamcomp/lzham_threading.h",
|
||
|
|
||
|
"lzhamdecomp/lzham_assert.h",
|
||
|
"lzhamdecomp/lzham_checksum.h",
|
||
|
"lzhamdecomp/lzham_config.h",
|
||
|
"lzhamdecomp/lzham_core.h",
|
||
|
"lzhamdecomp/lzham_decomp.h",
|
||
|
"lzhamdecomp/lzham_helpers.h",
|
||
|
"lzhamdecomp/lzham_huffman_codes.h",
|
||
|
"lzhamdecomp/lzham_lzdecompbase.h",
|
||
|
"lzhamdecomp/lzham_math.h",
|
||
|
"lzhamdecomp/lzham_mem.h",
|
||
|
"lzhamdecomp/lzham_platform.h",
|
||
|
"lzhamdecomp/lzham_prefix_coding.h",
|
||
|
"lzhamdecomp/lzham_symbol_codec.h",
|
||
|
"lzhamdecomp/lzham_timer.h",
|
||
|
"lzhamdecomp/lzham_traits.h",
|
||
|
"lzhamdecomp/lzham_types.h",
|
||
|
"lzhamdecomp/lzham_utils.h",
|
||
|
"lzhamdecomp/lzham_vector.h"
|
||
|
)
|
||
|
add_includedirs("include", {public = true})
|
||
|
add_includedirs("lzhamcomp", "lzhamdecomp")
|
||
|
|
||
|
if has_config("mimalloc") then
|
||
|
add_packages("mimalloc")
|
||
|
add_defines("ASSERT_USE_MIMALLOC")
|
||
|
end
|
||
|
|
||
|
if is_arch("x86_64") then
|
||
|
add_defines("__x86_64__")
|
||
|
elseif is_arch("i386") then
|
||
|
add_defines("__i386__")
|
||
|
end
|
||
|
if is_plat("mingw") then
|
||
|
add_defines("__GNUC__")
|
||
|
if is_arch("i386", "x86") then
|
||
|
add_defines("__MINGW32__")
|
||
|
else
|
||
|
add_defines("__MINGW64__")
|
||
|
end
|
||
|
end
|
||
|
if is_plat("windows") then
|
||
|
add_defines("WIN32", "__WIN32__")
|
||
|
if is_arch("arm64") then
|
||
|
add_defines("__AARCH64__")
|
||
|
elseif is_arch("x64") then
|
||
|
add_defines("_WIN64")
|
||
|
end
|
||
|
add_files("lzhamcomp/lzham_win32_threading.cpp")
|
||
|
add_headerfiles("lzhamcomp/lzham_win32_threading.h")
|
||
|
else
|
||
|
add_syslinks("pthread")
|
||
|
if is_plat("linux") then
|
||
|
add_defines("__linux__")
|
||
|
elseif is_plat("freebsd") then
|
||
|
add_defines("__FreeBSD__")
|
||
|
end
|
||
|
if is_plat("macosx", "iphoneos") then
|
||
|
add_defines("__APPLE__")
|
||
|
add_defines("__MACH__")
|
||
|
if is_plat("macosx") then
|
||
|
add_defines("TARGET_OS_MAC")
|
||
|
else
|
||
|
add_defines("TARGET_OS_IPHONE")
|
||
|
end
|
||
|
end
|
||
|
add_files("lzhamcomp/lzham_pthreads_threading.cpp")
|
||
|
add_headerfiles("lzhamcomp/lzham_pthreads_threading.h")
|
||
|
end
|