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.
 
 
 

5.4 KiB

xmake-repo

一个官方的xmake包管理仓库

简介

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

包依赖描述

包依赖管理

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

提交一个新包到仓库

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
bzip2 bzip2 doctest cjson automake cjson
cairo cairo nlohmann_json doctest boost doctest
catch2 catch2 tbox json-c bzip2 json-c
cjson doctest zlib libcurl cairo libjpeg
doctest expat libev catch2 libpng
expat freeglut libffi cjson libuv
ffmpeg freetype libjpeg cmake libxml2
fontconfig glew libpng doctest lua
freeglut go libuv expat nlohmann_json
freetype libcurl libxml2 ffmpeg tbox
gettext libjpeg nlohmann_json fontconfig zlib
glew libpng tbox freetype
glib libsdl zlib gettext
go libuv glew
gperf lua glib
icu4c luajit go
json-c nlohmann_json gperf
libcurl pcre icu4c
libev pixman json-c
libffi protobuf-c libcurl
libiconv protobuf-cpp libev
libjpeg skia libffi
libmill sqlite3 libiconv
libpng tbox libjpeg
libsdl zlib libmill
libtask libpng
libuv libsdl
libxml2 libtask

这里只显示了部分包,如果你想看所有包列表,可以看下:PKGLIST.md

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