xmake.lua 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package("lzham_codec")
  2. set_homepage("https://github.com/richgel999/lzham_codec")
  3. set_description("Lossless data compression codec with LZMA-like ratios but 1.5x-8x faster decompression speed, C/C++")
  4. set_urls("https://github.com/richgel999/lzham_codec.git")
  5. add_versions("2023.01.03", "d379b1f9121e2197881c61cfc4713c78848bdfe7")
  6. add_patches("2023.01.03", path.join(os.scriptdir(), "patches", "2023.01.03", "fix_linux.patch"), "f43db780903b98567d5039bcc99c08d3ed871a979333b3387e8416536b3ba925")
  7. add_patches("2023.01.03", path.join(os.scriptdir(), "patches", "2023.01.03", "use_lzham_prefixed_max_int_values.patch"), "bf8dd1bf584fb0e8a7dcdb846e009ef52c1fcc0fbee7158635322b69883874a6")
  8. add_patches("2023.01.03", path.join(os.scriptdir(), "patches", "2023.01.03", "fix_macosx.patch"), "8c5ec78e9381215f0283dde82059775c3f8406c444013c04bb55b578415ff7ef")
  9. add_patches("2023.01.03", path.join(os.scriptdir(), "patches", "2023.01.03", "fix_arm64.patch"), "c1493e4e0b097e3cf0657a90d836952b1dd47c15d3977b8923805004336945d2")
  10. add_patches("2023.01.03", path.join(os.scriptdir(), "patches", "2023.01.03", "fix_mingw.patch"), "b35bb937a0fc2ba7a61c7e3253ede9d3e8c0f952a8f312e6fa2fe577987fa9c6")
  11. add_patches("2023.01.03", path.join(os.scriptdir(), "patches", "2023.01.03", "add_mimalloc.patch"), "7d42ce1d7f1d5d8874f99714ddfff97f35247506d423b488e0de8c74ded92a2f")
  12. add_configs("mimalloc", {description = "Use mimalloc instead of default malloc headers", default = is_plat("mingw"), type = "boolean", readonly = is_plat("mingw")})
  13. on_load(function (package)
  14. if package:config("mimalloc") then
  15. package:add("deps", "mimalloc")
  16. end
  17. end)
  18. on_install(function (package)
  19. os.cp(path.join(package:scriptdir(), "port", "xmake.lua"), "xmake.lua")
  20. local configs = {}
  21. if package:config("mimalloc") then
  22. package:add("defines", "ASSERT_USE_MIMALLOC")
  23. configs.mimalloc = true
  24. end
  25. import("package.tools.xmake").install(package, configs)
  26. end)
  27. on_test(function (package)
  28. assert(package:has_cfuncs("lzham_compress_init", {includes = "lzham_static_lib.h"}))
  29. assert(package:check_cxxsnippets({test = [[
  30. #include <lzham_static_lib.h>
  31. void test() {
  32. lzham_static_lib lzham_lib;
  33. lzham_lib.load();
  34. }
  35. ]]}))
  36. end)