xmake.lua 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. option("bzip2", {default = false})
  2. add_rules("mode.debug", "mode.release")
  3. add_rules("utils.install.cmake_importfiles")
  4. add_rules("utils.install.pkgconfig_importfiles")
  5. add_requires("zlib")
  6. if has_config("bzip2") then
  7. add_requires("bzip2")
  8. end
  9. target("minizip")
  10. set_kind("$(kind)")
  11. add_files("zip.c", "unzip.c", "mztools.c", "ioapi.c")
  12. add_headerfiles("crypt.h", "zip.h", "unzip.h", "ioapi.h", "mztools.h", {prefixdir = "minizip"})
  13. add_packages("zlib")
  14. if has_config("bzip2") then
  15. add_packages("bzip2")
  16. add_defines("HAVE_BZIP2=1")
  17. end
  18. if is_plat("windows") then
  19. add_files("iowin32.c")
  20. add_headerfiles("iowin32.h")
  21. else
  22. add_defines("_LARGEFILE64_SOURCE=1", "_FILE_OFFSET_BITS=64")
  23. end
  24. on_config(function(target)
  25. if not target:is_plat("windows") then
  26. local snippet = target:has_cfuncs("fopen64", {includes = "stdio.h", configs = {languages = "c11"}})
  27. if not snippet then
  28. target:add("defines", "IOAPI_NO_64")
  29. end
  30. end
  31. end)