package An official xmake package repository https://xrepo.xmake.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

7.3 KiB

xmake-repo

一个官方的xmake包管理仓库

项目支持

通过成为赞助者来支持该项目。您的logo将显示在此处,并带有指向您网站的链接。🙏 [成为赞助商]

简介

xmake-repo是一个官方的xmake包管理仓库,收录了常用的c/c++开发包,提供跨平台支持。

包依赖描述

包依赖管理

如果你想要了解更多,请参考:

Xrepo

xrepo 是一个基于 Xmake 的跨平台 C/C++ 包管理器。

它基于 xmake 提供的运行时,但却是一个完整独立的包管理程序,相比 vcpkg/homebrew 此类包管理器,xrepo 能够同时提供更多平台和架构的 C/C++ 包。

如果你想要了解更多,请参考:在线文档, Github 以及 Gitee

提交一个新包到仓库

packages/x/xxx/xmake.lua中写个关于新包的xmake.lua描述,然后提交一个pull-request到dev分支。

例如:packages/z/zlib/xmake.lua:

关于如何制作包的更详细描述,请参看文档:制作和提交到官方仓库

package("zlib")

    set_homepage("http://www.zlib.net")
    set_description("A Massively Spiffy Yet Delicately Unobtrusive Compression Library")

    set_urls("http://zlib.net/zlib-$(version).tar.gz",
             "https://downloads.sourceforge.net/project/libpng/zlib/$(version)/zlib-$(version).tar.gz")

    add_versions("1.2.10", "8d7e9f698ce48787b6e1c67e6bff79e487303e66077e25cb9784ac8835978017")
    add_versions("1.2.11", "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1")

    on_install("windows", function (package)
        io.gsub("win32/Makefile.msc", "%-MD", "-" .. package:config("vs_runtime"))
        os.vrun("nmake -f win32\\Makefile.msc zlib.lib")
        os.cp("zlib.lib", package:installdir("lib"))
        os.cp("*.h", package:installdir("include"))
    end)

    on_install("linux", "macosx", function (package)
        import("package.tools.autoconf").install(package, {"--static"})
    end)
 
    on_install("iphoneos", "android@linux,macosx", "mingw@linux,macosx", function (package)
        import("package.tools.autoconf").configure(package, {host = "", "--static"})
        io.gsub("Makefile", "\nAR=.-\n",      "\nAR=" .. (package:build_getenv("ar") or "") .. "\n")
        io.gsub("Makefile", "\nARFLAGS=.-\n", "\nARFLAGS=cr\n")
        io.gsub("Makefile", "\nRANLIB=.-\n",  "\nRANLIB=\n")
        os.vrun("make install -j4")
    end)

    on_test(function (package)
        assert(package:has_cfuncs("inflate", {includes = "zlib.h"}))
    end)

被支持的包列表

linux windows mingw iphoneos macosx android
boost boost catch2 catch2 autoconf catch2
bullet3 bzip2 concurrentqueue cjson automake cjson
bzip2 cairo cpp-taskflow concurrentqueue boost concurrentqueue
cairo catch2 doctest cpp-taskflow bullet3 cpp-taskflow
catch2 concurrentqueue fmt doctest bzip2 doctest
cjson cpp-taskflow gtest fmt cairo ffmpeg
concurrentqueue doctest imgui gtest catch2 fmt
cpp-taskflow expat inja imgui cjson gtest
doctest fmt libjpeg inja cmake imgui
expat freeglut libsdl json-c concurrentqueue inja
ffmpeg freetype nlohmann_json libcurl cpp-taskflow json-c
fmt glew pcre libev doctest libjpeg
fontconfig go pcre2 libffi expat libpng
freeglut gtest spdlog libjpeg ffmpeg libuv
freetype imgui tbox libpng fmt libxml2
gettext inja xz libuv fontconfig lua
glew libcurl zlib libxml2 freetype nlohmann_json
glib libjpeg nlohmann_json gettext spdlog
go libpng spdlog glew tbox
gperf libsdl tbox glib zlib
gtest libtiff zlib go
icu4c libuv gperf
imgui libwebsockets gtest
inja lua icu4c
json-c luajit imgui
libcurl nana inja
libev nlohmann_json json-c
libffi oatpp libcurl
libiconv pcre libev
libjpeg pixman libffi
libmill protobuf-c libiconv
libpng protobuf-cpp libjpeg
libsdl raylib libmill
libtask skia libpng
libtiff spdlog libsdl
libusb sqlite3 libtask
libuv tbox libtiff
libwebsockets unqlite libtool
libxml2 zeromq libusb

这里只显示了部分包,如果你想看所有包列表,请到 仓库包列表 查看。

我们也非常欢迎大家能够贡献一些进来。🙏