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.
114 lines
3.7 KiB
114 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
|
|
|