Forráskód Böngészése

glaze: add package (#2462)

star9029 1 éve
szülő
commit
e4de08bc39
1 módosított fájl, 35 hozzáadás és 0 törlés
  1. 35 0
      packages/g/glaze/xmake.lua

+ 35 - 0
packages/g/glaze/xmake.lua

@@ -0,0 +1,35 @@
+package("glaze")
+    set_kind("library", {headeronly = true})
+    set_homepage("https://github.com/stephenberry/glaze")
+    set_description("Extremely fast, in memory, JSON and interface library for modern C++")
+
+    add_urls("https://github.com/stephenberry/glaze/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/stephenberry/glaze.git")
+
+    add_versions("v1.3.5", "de5d59cb7f31193d45f67f25d8ced1499df50c0d926a1461432b87f2b2368817")
+
+    on_install(function (package)
+        os.cp("include", package:installdir())
+    end)
+
+    on_test(function (package)
+        assert(package:check_cxxsnippets({test = [[
+            #include <glaze/glaze.hpp>
+            struct obj_t
+            {
+                double x{};
+                float y{};
+            };
+            template <>
+            struct glz::meta<obj_t>
+            {
+                using T = obj_t;
+                static constexpr auto value = object("x", &T::x);
+            };
+            void test() {
+                std::string buffer{};
+                obj_t obj{};
+                glz::write_json(obj, buffer);
+            }
+        ]]}, {configs = {languages = "c++20"}}))
+    end)