From 7d788ef6b96b9570447712fe0bde711083f22242 Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 4 Oct 2019 00:53:38 +0800 Subject: [PATCH] add inja --- packages/i/inja/xmake.lua | 28 ++++++++++++++++++++++++++++ packages/n/nana/xmake.lua | 16 +++++++++++----- packages/n/nlohmann_json/xmake.lua | 11 +++++++++++ 3 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 packages/i/inja/xmake.lua diff --git a/packages/i/inja/xmake.lua b/packages/i/inja/xmake.lua new file mode 100644 index 000000000..ad69967df --- /dev/null +++ b/packages/i/inja/xmake.lua @@ -0,0 +1,28 @@ +package("inja") + + set_homepage("https://pantor.github.io/inja/") + set_description("A Template Engine for Modern C++") + + add_urls("https://github.com/pantor/inja/archive/$(version).tar.gz", + "https://github.com/pantor/inja.git") + + add_versions("v2.1.0", "038ecde8f6dbad5d3cedb6ceb0853fd0e488d5dc57593a869633ecb30b0dfa6e") + + add_deps("nlohmann_json") + + on_install(function (package) + os.cp("single_include/inja", package:installdir("include")) + end) + + on_test(function (package) + assert(package:check_cxxsnippets({test = [[ + using namespace inja; + using json = nlohmann::json; + void test() { + inja::Environment env; + json data; + data["name"] = "world"; + env.render("Hello {{ name }}!", data); + } + ]]}, {configs = {languages = "c++11"}, includes = {"inja/inja.hpp"}})) + end) diff --git a/packages/n/nana/xmake.lua b/packages/n/nana/xmake.lua index 6c0c34073..18b1117d0 100644 --- a/packages/n/nana/xmake.lua +++ b/packages/n/nana/xmake.lua @@ -8,6 +8,10 @@ package("nana") add_versions("1.6.2", "5f5cb791dff292e27bfa29d850b93f809a0d91d6044ea7e22ce7ae76a5d8b24e") add_versions("1.7.2", "e2efb3b7619e4ef3b6de93f8afc70ff477ec6cabf4f9740f0d786904c790613f") + if is_plat("linux") then + add_deps("cmake") + end + on_install("linux", function (package) import("package.tools.cmake").install(package) end) @@ -15,10 +19,12 @@ package("nana") on_test(function (package) assert(package:check_cxxsnippets({test = [[ using namespace nana; - form fm; - label lb(fm, rectangle(fm.size())); - lb.caption("Hello, World"); - fm.show(); - exec(); + void test() { + form fm; + label lb(fm, rectangle(fm.size())); + lb.caption("Hello, World"); + fm.show(); + exec(); + } ]]}, {configs = {languages = "c++11"}, includes = {"nana/gui/wvl.hpp", "nana/gui/widgets/label.hpp"}})) end) diff --git a/packages/n/nlohmann_json/xmake.lua b/packages/n/nlohmann_json/xmake.lua index 4c1c795fa..09f8d15d8 100644 --- a/packages/n/nlohmann_json/xmake.lua +++ b/packages/n/nlohmann_json/xmake.lua @@ -6,6 +6,7 @@ package("nlohmann_json") add_urls("https://github.com/nlohmann/json/releases/download/$(version)/include.zip", "https://github.com/nlohmann/json.git") add_versions("v3.4.0", "bfec46fc0cee01c509cf064d2254517e7fa80d1e7647fea37cf81d97c5682bdc") + add_versions("v3.7.0", "541c34438fd54182e9cdc68dd20c898d766713ad6d901fb2c6e28ff1f1e7c10d") on_install(function (package) if os.isdir("include") then @@ -14,3 +15,13 @@ package("nlohmann_json") os.cp("*", package:installdir("include")) end end) + + on_test(function (package) + assert(package:check_cxxsnippets({test = [[ + using json = nlohmann::json; + void test() { + json data; + data["name"] = "world"; + } + ]]}, {configs = {languages = "c++14"}, includes = {"nlohmann/json.hpp"}})) + end)