xmake.lua 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package("libarchive")
  2. set_homepage("https://libarchive.org/")
  3. set_description("Multi-format archive and compression library")
  4. set_license("BSD-2-Clause")
  5. add_urls("https://libarchive.org/downloads/libarchive-$(version).tar.gz")
  6. add_versions("3.5.1", "9015d109ec00bb9ae1a384b172bf2fc1dff41e2c66e5a9eeddf933af9db37f5a")
  7. add_versions("3.5.2", "5f245bd5176bc5f67428eb0aa497e09979264a153a074d35416521a5b8e86189")
  8. add_versions("3.6.2", "ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3")
  9. add_versions("3.7.2", "df404eb7222cf30b4f8f93828677890a2986b66ff8bf39dac32a804e96ddf104")
  10. add_deps("cmake")
  11. add_deps("zlib", "bzip2", "lz4", "zstd", "lzma")
  12. if is_plat("windows") then
  13. add_syslinks("advapi32")
  14. end
  15. on_install("windows", "linux", "macosx", function (package)
  16. local configs = {"-DENABLE_TEST=OFF",
  17. "-DENABLE_CAT=OFF",
  18. "-DENABLE_TAR=OFF",
  19. "-DENABLE_CPIO=OFF",
  20. "-DENABLE_OPENSSL=OFF",
  21. "-DENABLE_PCREPOSIX=OFF",
  22. "-DENABLE_LibGCC=OFF",
  23. "-DENABLE_CNG=OFF",
  24. "-DENABLE_ICONV=OFF",
  25. "-DENABLE_ACL=OFF",
  26. "-DENABLE_EXPAT=OFF",
  27. "-DENABLE_LIBXML2=OFF",
  28. "-DENABLE_LIBB2=OFF"}
  29. table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
  30. table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
  31. if not package:config("shared") then
  32. package:add("defines", "LIBARCHIVE_STATIC")
  33. end
  34. import("package.tools.cmake").install(package, configs)
  35. end)
  36. on_test(function (package)
  37. assert(package:has_cfuncs("archive_version_number", {includes = "archive.h"}))
  38. end)