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

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