xmake.lua 1.2 KB

123456789101112131415161718192021222324252627282930313233
  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://wias-berlin.de/software/tetgen/1.5/src/tetgen1.6.0.zip")
  6. add_versions("1.6.0", "e7bbbb4fb8f47f0adc3b46b26ab172557ebb90808c06e21b902b2166717af582")
  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)