xmake.lua 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. add_rules("mode.debug", "mode.release")
  2. option("vers")
  3. set_default("")
  4. set_showmenu(true)
  5. option_end()
  6. if has_config("vers") then
  7. set_version(get_config("vers"))
  8. end
  9. target("brotlienc")
  10. set_kind("$(kind)")
  11. add_deps("brotlicommon")
  12. local links = {"brotlienc"}
  13. if is_kind("static") then
  14. table.insert(links, "brotlicommon")
  15. end
  16. add_rules("utils.install.pkgconfig_importfiles", {filename = "libbrotlienc.pc", links = links})
  17. add_includedirs("c/include", {public = true})
  18. add_files("c/enc/*.c")
  19. if is_kind("shared") and is_plat("windows") then
  20. add_defines("BROTLI_SHARED_COMPILATION", "BROTLIENC_SHARED_COMPILATION")
  21. end
  22. add_headerfiles("c/include/(brotli/*.h)")
  23. target("brotlidec")
  24. set_kind("$(kind)")
  25. add_deps("brotlicommon")
  26. local links = {"brotlidec"}
  27. if is_kind("static") then
  28. table.insert(links, "brotlicommon")
  29. end
  30. add_rules("utils.install.pkgconfig_importfiles", {filename = "libbrotlidec.pc", links = links})
  31. add_includedirs("c/include", {public = true})
  32. add_files("c/dec/*.c")
  33. if is_kind("shared") and is_plat("windows") then
  34. add_defines("BROTLI_SHARED_COMPILATION", "BROTLIDEC_SHARED_COMPILATION")
  35. end
  36. add_headerfiles("c/include/(brotli/*.h)")
  37. target("brotlicommon")
  38. set_kind("$(kind)")
  39. add_rules("utils.install.pkgconfig_importfiles", {filename = "libbrotlicommon.pc"})
  40. add_includedirs("c/include", {public = true})
  41. add_files("c/common/*.c")
  42. if is_kind("shared") and is_plat("windows") then
  43. add_defines("BROTLI_SHARED_COMPILATION", "BROTLICOMMON_SHARED_COMPILATION")
  44. end
  45. add_headerfiles("c/include/(brotli/*.h)")
  46. target("brotli")
  47. set_kind("binary")
  48. add_files("c/tools/brotli.c")
  49. add_deps("brotlicommon", "brotlidec", "brotlienc")