xmake.lua 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. package("tetgen")
  2. set_homepage("https://www.wias-berlin.de/software/index.jsp?id=TetGen")
  3. set_description("A Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator")
  4. set_license("AGPL-3.0")
  5. add_urls("https://github.com/libigl/tetgen.git")
  6. add_versions("1.6.0", "4f3bfba3997f20aa1f96cfaff604313a8c2c85b6")
  7. add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
  8. on_install(function (package)
  9. io.writefile("xmake.lua", [[
  10. add_rules("mode.debug", "mode.release")
  11. set_languages("c++11")
  12. target("tet")
  13. set_kind("static")
  14. add_files("tetgen.cxx", "predicates.cxx")
  15. add_headerfiles("tetgen.h")
  16. add_defines("TETLIBRARY")
  17. target("tetgen")
  18. add_files("tetgen.cxx", "predicates.cxx")
  19. ]])
  20. import("package.tools.xmake").install(package)
  21. package:addenv("PATH", "bin")
  22. end)
  23. on_test(function (package)
  24. if not package:is_cross() then
  25. os.vrun("tetgen -h")
  26. end
  27. assert(package:has_cxxfuncs("tetrahedralize", {includes = "tetgen.h"}))
  28. end)