xmake.lua 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. package("mathter")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/petiaccja/Mathter")
  4. set_description("A flexible and fast matrix, transform and geometry library.")
  5. set_license("MIT")
  6. add_urls("https://github.com/petiaccja/Mathter/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/petiaccja/Mathter.git")
  8. add_versions("v1.1.2", "9e6d03295d28e8792721fedca5d53955d4057d1550e51491408353b6181e6c6d")
  9. add_versions("v1.1.1", "510e6aa198cd7b207a44d319e4471021f207cba8c4d2d7e40086f1f042fe13ab")
  10. add_configs("xsimd", {description = "Uses XSimd for vectorization of math routines. Uses scalar fallback if turned off.", default = false, type = "boolean"})
  11. on_load(function (package)
  12. if package:config("xsimd") then
  13. package:add("deps", "xsimd")
  14. package:add("defines", "MATHTER_USE_XSIMD")
  15. end
  16. end)
  17. on_install(function (package)
  18. os.cp("include", package:installdir())
  19. end)
  20. on_test(function (package)
  21. assert(package:check_cxxsnippets({test = [[
  22. using namespace mathter;
  23. using Vec2 = Vector<float, 2, false>;
  24. void test() {
  25. Vec2 a = { 1, 2 };
  26. }
  27. ]]}, {configs = {languages = "c++17"}, includes = "Mathter/Vector.hpp"}))
  28. end)