浏览代码

cppjieba: add package (#5156)

* cppjieba: add package

* improve xmake.lua
star9029 11 月之前
父节点
当前提交
80e24589ed
共有 2 个文件被更改,包括 55 次插入0 次删除
  1. 27 0
      packages/c/cppjieba/xmake.lua
  2. 28 0
      packages/l/limonp/xmake.lua

+ 27 - 0
packages/c/cppjieba/xmake.lua

@@ -0,0 +1,27 @@
+package("cppjieba")
+    set_kind("library", {headeronly = true})
+    set_homepage("https://github.com/yanyiwu/cppjieba")
+    set_description([["结巴"中文分词的C++版本]])
+    set_license("MIT")
+
+    add_urls("https://github.com/yanyiwu/cppjieba/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/yanyiwu/cppjieba.git", {submodules = false})
+
+    add_versions("v5.2.0", "00c420e9e1b212827a38b6e252468895f744c0e7be8c4feaab4e0a93b8d3b1ca")
+
+    add_deps("limonp")
+
+    on_install(function (package)
+        if package:has_tool("cxx", "cl") then
+            package:add("cxxflags", "/utf-8")
+        end
+        os.cp("include", package:installdir())
+    end)
+
+    on_test(function (package)
+        assert(package:check_cxxsnippets({test = [[
+            void test() {
+                cppjieba::Jieba jieba("DICT_PATH", "HMM_PATH", "USER_DICT_PATH", "IDF_PATH", "STOP_WORD_PATH");
+            }
+        ]]}, {configs = {languages = "c++14"}, includes = "cppjieba/Jieba.hpp"}))
+    end)

+ 28 - 0
packages/l/limonp/xmake.lua

@@ -0,0 +1,28 @@
+package("limonp")
+    set_kind("library", {headeronly = true})
+    set_homepage("https://github.com/yanyiwu/limonp")
+    set_description("C++ headers(hpp) library with Python style.")
+    set_license("MIT")
+
+    add_urls("https://github.com/yanyiwu/limonp/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/yanyiwu/limonp.git")
+
+    add_versions("v0.9.0", "92d90b262ab2e3375dd386731deeb028f88ee7d07d0695d53d10bef6887d2f5f")
+
+    add_deps("cmake")
+
+    on_install(function (package)
+        io.replace("CMakeLists.txt", "ADD_SUBDIRECTORY(test)", "", {plain = true})
+
+        local configs = {}
+        table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
+        import("package.tools.cmake").install(package, configs)
+    end)
+
+    on_test(function (package)
+        assert(package:check_cxxsnippets({test = [[
+            void test() {
+                limonp::StringFormat("format");
+            }
+        ]]}, {configs = {languages = "c++11"}, includes = "limonp/StringUtil.hpp"}))
+    end)