diff --git a/packages/m/mds/xmake.lua b/packages/m/mds/xmake.lua new file mode 100644 index 00000000000..a7f7d8b9203 --- /dev/null +++ b/packages/m/mds/xmake.lua @@ -0,0 +1,26 @@ +package("mds") + set_kind("library", {headeronly = true}) + set_homepage("https://github.com/chen-qingyu/MyDataStructure") + set_description("A C++ containers library that is as easy to use as Python's containers library.") + set_license("GPL-3.0") + + add_urls("https://github.com/chen-qingyu/MyDataStructure/archive/refs/tags/v$(version).zip", + "https://github.com/chen-qingyu/MyDataStructure.git") + add_versions("1.1.0", "537a1260ebdeeb1db9f94a3c44e628c04a70e4d26d5eb72f4206765717d6d680") + + on_install(function (package) + os.cp("sources/*.hpp", package:installdir("include/mds")) + end) + + on_test(function (package) + assert(package:check_cxxsnippets({test = [[ + #include + using namespace mds; + void test() { + Map> map = {{"first", {123, 456}}, {"second", {789}}, {"second", {0}}, {"third", {"12345678987654321", 5}}}; + assert(map.size() == 3); + assert(map.keys() == Set({"first", "second", "third"})); + assert(map["third"][-1].factorial() == 120); + } + ]]}, {configs = {languages = "c++17"}, includes = "mds/mds.hpp"})) + end)