Support this project by becoming a sponsor. Your logo will show up here with a link to your website. 🙏 [Become a sponsor]
Introduction (中文)
xmake-repo is an official xmake package repository.
If you want to know more, please refer to:
Write a xmake.lua of new package in packages/x/xxx/xmake.lua
and push a pull-request to the dev branch.
For example, packages/z/zlib/xmake.lua:
If you want to known more, please see: Create and Submit packages to the official repository
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 |
Note: Only some packages are shown here. If you want to see a complete list of all packages, please see: PKGLIST.md
We also welcome everyone to contribute some packages to our package repository.🙏