支持项目
通过成为赞助商来支持这个项目。您的logo将出现在这里,并附上您网站的链接。🙏
简介 (English)
xmake-repo 是 xmake 的官方包仓库。
包依赖关系
包管理
如果你想了解更多,请参考 xmake 文档:
Xrepo
xrepo 是一个基于 Xmake 的跨平台 C/C++ 包管理器。
它基于 xmake 提供的运行时,但它是一个完整且独立的包管理程序。与 vcpkg/homebrew 等包管理器相比,xrepo 可以同时为更多平台和架构提供 C/C++ 包。
如果你想了解更多,请参考 xrepo 文档:
向仓库提交包
在 packages/x/xxx/xmake.lua
中编写新包的 xmake.lua,并向 dev 分支提交一个拉取请求。
如果你想了解更多,请参见:创建和提交包到官方仓库
从 Github 创建包模板
首先需要安装 gh 命令行工具,然后执行以下命令登录 github。
$ gh auth login
根据 github 的包地址,创建一个包配置文件到本仓库。
$ xmake l scripts/new.lua github:glennrp/libpng
package("libpng")
set_homepage("http://libpng.sf.net")
set_description("LIBPNG: Portable Network Graphics support, official libpng repository")
add_urls("https://github.com/glennrp/libpng/archive/refs/tags/$(version).tar.gz",
"https://github.com/glennrp/libpng.git")
add_versions("v1.6.35", "6d59d6a154ccbb772ec11772cb8f8beb0d382b61e7ccc62435bf7311c9f4b210")
add_deps("cmake")
on_install(function (package)
local configs = {}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("foo", {includes = "foo.h"}))
end)
packages/l/libpng/xmake.lua generated!
在本地测试包
$ xmake l scripts/test.lua --shallow -vD zlib
$ xmake l scripts/test.lua --shallow -vD -p iphoneos zlib
$ xmake l scripts/test.lua --shallow -vD -k shared -m debug zlib
$ xmake l scripts/test.lua --shallow -vD --vs_runtime=MD zlib