2
0

xmake.lua 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package("minizip")
  2. set_homepage("https://www.zlib.net/")
  3. set_description("Mini zip and unzip based on zlib")
  4. set_license("zlib")
  5. add_urls("https://github.com/madler/zlib/archive/$(version).tar.gz",
  6. "https://github.com/madler/zlib.git")
  7. add_versions("v1.2.10", "42cd7b2bdaf1c4570e0877e61f2fdc0bce8019492431d054d3d86925e5058dc5")
  8. add_versions("v1.2.11", "629380c90a77b964d896ed37163f5c3a34f6e6d897311f1df2a7016355c45eff")
  9. add_versions("v1.2.12", "d8688496ea40fb61787500e863cc63c9afcbc524468cedeb478068924eb54932")
  10. add_versions("v1.2.13", "1525952a0a567581792613a9723333d7f8cc20b87a81f920fb8bc7e3f2251428")
  11. add_deps("zlib")
  12. add_includedirs("include", "include/minizip")
  13. on_install(function (package)
  14. os.cd(path.join("contrib", "minizip"))
  15. io.writefile("xmake.lua", [[
  16. add_rules("mode.debug", "mode.release")
  17. add_rules("utils.install.cmake_importfiles")
  18. add_rules("utils.install.pkgconfig_importfiles")
  19. add_requires("zlib")
  20. target("minizip")
  21. set_kind("$(kind)")
  22. add_files("zip.c", "unzip.c", "mztools.c", "ioapi.c")
  23. add_headerfiles("crypt.h", "zip.h", "unzip.h", "ioapi.h", "mztools.h", {prefixdir = "minizip"})
  24. add_packages("zlib")
  25. if is_plat("windows") then
  26. add_files("iowin32.c")
  27. add_headerfiles("iowin32.h")
  28. end
  29. ]])
  30. local configs = {}
  31. if package:config("shared") then
  32. configs.kind = "shared"
  33. elseif not package:is_plat("windows", "mingw") and package:config("pic") ~= false then
  34. configs.cxflags = "-fPIC"
  35. end
  36. import("package.tools.xmake").install(package, configs)
  37. end)
  38. on_test(function (package)
  39. assert(package:has_cfuncs("inflate", {includes = "zip.h"}))
  40. end)