Installation

via curl

bash <(curl -fsSL https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh)

via wget

bash <(wget https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh -O -)

via powershell

Invoke-Expression (Invoke-Webrequest 'https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.ps1' -UseBasicParsing).Content

Simple description

target("console")
    set_kind("binary")
    add_files("src/*.c") 

Build project

$ xmake

Run target

$ xmake run console

Debug target

$ xmake run -d console

Support features

Support platforms

Support Languages

Builtin Plugins

More Plugins

Please download and install from the plugins repository xmake-plugins.

More Examples

Debug and release modes:

if is_mode("debug") then
    set_symbols("debug")
    set_optimize("none")
end

if is_mode("release") then
    set_symbols("hidden")
    set_optimize("fastest")
    set_strip("all")
end

target("console")
    set_kind("binary")
    add_files("src/*.c") 

Custom script:

target("test")
    set_kind("static")
    add_files("src/*.cpp")
    after_build(function (target)
        print("build %s ok!", target:targetfile())
    end)

Extension Modules:

target("test")
    set_kind("shared")
    add_files("src/*.c")
    on_load(function (target)
        import("lib.detect.find_package")
        target:add(find_package("zlib"))
    end)

Project Examples

Some projects using xmake:

Example Video

asciicast

Contacts