Skip to content

Colysia/xmake-repo

This branch is 4 commits ahead of, 3063 commits behind xmake-io/xmake-repo:dev.

Folders and files

NameName
Last commit message
Last commit date
Dec 4, 2023
Dec 11, 2023
Nov 8, 2023
Mar 24, 2023
Sep 14, 2021
Jun 27, 2023
Apr 9, 2017
Feb 8, 2019
Jun 26, 2023
Jun 26, 2023

Repository files navigation

xmake-repo

An official xmake package repository

Supporting the project

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. πŸ™

Introduction (δΈ­ζ–‡)

xmake-repo is an official xmake package repository.

Package dependences

Package management

If you want to know more, please refer to the xmake documentation:

Xrepo

xrepo is a cross-platform C/C++ package manager based on Xmake.

It is based on the runtime provided by xmake, but it is a complete and independent package management program. Compared with package managers such as vcpkg/homebrew, xrepo can provide C/C++ packages for more platforms and architectures at the same time.

If you want to know more, please refer to the xrepo documentation:

Submit package to repository

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

Create a package template from Github

We need to install the gh cli tool first, and then execute the following command to log in to github.

$ gh auth login

Create a package configuration file to this warehouse based on the package address of 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!

Test a package in local

$ 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

About

πŸ“¦ An official xmake package repository

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 99.3%
  • Other 0.7%