Преглед изворни кода

mathter: add package (#4388)

* mathter: add package

* add xsimd config
star9029 пре 1 година
родитељ
комит
cb4a9e7fc1
1 измењених фајлова са 33 додато и 0 уклоњено
  1. 33 0
      packages/m/mathter/xmake.lua

+ 33 - 0
packages/m/mathter/xmake.lua

@@ -0,0 +1,33 @@
+package("mathter")
+    set_kind("library", {headeronly = true})
+    set_homepage("https://github.com/petiaccja/Mathter")
+    set_description("A flexible and fast matrix, transform and geometry library.")
+    set_license("MIT")
+
+    add_urls("https://github.com/petiaccja/Mathter/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/petiaccja/Mathter.git")
+
+    add_versions("v1.1.1", "510e6aa198cd7b207a44d319e4471021f207cba8c4d2d7e40086f1f042fe13ab")
+
+    add_configs("xsimd", {description = "Uses XSimd for vectorization of math routines. Uses scalar fallback if turned off.", default = false, type = "boolean"})
+
+    on_load(function (package)
+        if package:config("xsimd") then
+            package:add("deps", "xsimd")
+            package:add("defines", "MATHTER_USE_XSIMD")
+        end
+    end)
+
+    on_install(function (package)
+        os.cp("include", package:installdir())
+    end)
+
+    on_test(function (package)
+        assert(package:check_cxxsnippets({test = [[
+            using namespace mathter;
+            using Vec2 = Vector<float, 2, false>;
+            void test() {
+                Vec2 a = { 1, 2 };
+            }
+        ]]}, {configs = {languages = "c++17"}, includes = "Mathter/Vector.hpp"}))
+    end)