xmake.lua 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. package("collada-dom")
  2. set_homepage("https://github.com/rdiankov/collada-dom/")
  3. set_description("COLLADA Document Object Model (DOM) C++ Library")
  4. add_urls("https://github.com/rdiankov/collada-dom/archive/refs/tags/$(version).tar.gz",
  5. "https://github.com/rdiankov/collada-dom.git")
  6. add_versions("v2.5.0", "3be672407a7aef60b64ce4b39704b32816b0b28f61ebffd4fbd02c8012901e0d")
  7. add_patches("v2.5.0", path.join(os.scriptdir(), "patches", "v2.5.0", "uriparser.patch"), "b3ab281d5f4498531ff387992f731f94c64d7f8ea07674f66ad74ba455f650ef")
  8. add_deps("cmake", "libxml2", "minizip", "pcre", "uriparser")
  9. add_deps("boost", {configs = {filesystem = true}})
  10. on_load("windows", function (package)
  11. if package:config("shared") then
  12. package:add("defines", "DOM_DYNAMIC")
  13. end
  14. end)
  15. on_install("windows", "linux", "macosx", function (package)
  16. os.cd("dom")
  17. os.cp(path.join(os.scriptdir(), "port", "xmake.lua"), "xmake.lua")
  18. local configs = {}
  19. if package:config("shared") then
  20. configs.kind = "shared"
  21. elseif package:is_plat("linux") and package:config("pic") ~= false then
  22. configs.cxflags = "-fPIC"
  23. end
  24. import("package.tools.xmake").install(package, configs)
  25. end)
  26. on_test(function (package)
  27. assert(package:has_cxxtypes("DAE", {configs = {languages = "c++11"}, includes = "dae.h"}))
  28. end)