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.🙏
  
