ソースを参照

Add perlinnoise package (#2453)

* Add perlinnoise package

* Update xmake.lua

---------

Co-authored-by: ruki <[email protected]>
Jérôme Leclercq 1 年間 前
コミット
16047fbef5
1 ファイル変更28 行追加0 行削除
  1. 28 0
      packages/p/perlinnoise/xmake.lua

+ 28 - 0
packages/p/perlinnoise/xmake.lua

@@ -0,0 +1,28 @@
+package("perlinnoise")
+    set_kind("library", {headeronly = true})
+    set_homepage("https://github.com/Reputeless/PerlinNoise")
+    set_description("Header-only Perlin noise library for modern C++ (C++17/C++20)")
+    set_license("MIT")
+
+    add_urls("https://github.com/Reputeless/PerlinNoise/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/Reputeless/PerlinNoise.git")
+
+    add_versions("v3.0.0", "1fea1e7ebeb3c66b79d60c2c398aa83ccfadcef343bd396c0f0a684380e827fc")
+
+    on_install(function (package)
+        os.cp("PerlinNoise.hpp", package:installdir("include"))
+    end)
+
+    on_test(function (package)
+        assert(package:check_cxxsnippets([[
+            void test() {
+                const siv::PerlinNoise::seed_type seed = 123456u;
+                const siv::PerlinNoise perlin{ seed };
+                for (int y = 0; y < 5; ++y) {
+                    for (int x = 0; x < 5; ++x) {
+                        const double noise = perlin.octave2D_01((x * 0.01), (y * 0.01), 4);
+                    }
+                }
+            }
+        ]], {configs = {languages = "c++17"}, includes = "PerlinNoise.hpp"}))
+    end)