xmake.lua 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. add_rules("mode.debug", "mode.release")
  2. add_requires("eigen", "glfw", "glew", "rply")
  3. option("utils")
  4. set_default(false)
  5. set_showmenu(true)
  6. option_end()
  7. target("pmp")
  8. set_kind("static")
  9. set_languages("c++11")
  10. add_files("src/pmp/*.cpp")
  11. add_files("src/pmp/algorithms/*.cpp")
  12. add_defines("_USE_MATH_DEFINES", {public = true})
  13. add_packages("eigen", {public = true})
  14. add_packages("rply")
  15. add_includedirs("src", {public = true})
  16. add_headerfiles("src/(pmp/*.h)")
  17. add_headerfiles("src/(pmp/algorithms/*.h)")
  18. target_end()
  19. target("pmp_vis")
  20. set_kind("static")
  21. set_languages("c++11")
  22. add_deps("pmp")
  23. add_packages("glew", "glfw", {public = true})
  24. add_includedirs("external/imgui", {public = true})
  25. add_files("external/imgui/*.cpp")
  26. add_includedirs("external/stb_image", {public = true})
  27. add_files("external/stb_image/*.cpp")
  28. add_files("src/pmp/visualization/*.cpp")
  29. add_headerfiles("src/(pmp/visualization/*.h)")
  30. target_end()
  31. if has_config("utils") then
  32. local apps = {"mview", "curview", "subdiv", "smoothing", "fairing", "parameterization", "decimation", "remeshing", "mpview"}
  33. if not is_plat("windows") then table.insert(apps, "mconvert") end
  34. for _, app in ipairs(apps) do
  35. target(app)
  36. set_kind("binary")
  37. set_languages("c++11")
  38. add_deps("pmp_vis")
  39. add_files("src/apps/" .. app .. ".cpp")
  40. if app == "mpview" then add_files("src/apps/MeshProcessingViewer.cpp") end
  41. target_end()
  42. end
  43. end