Skip to content

Generate Config Files

For details on config header generation, see: Config Header API.

We can use add_configfiles to automatically generate configuration files such as config.h.

Basic Example

EXPLORER
src
main.c
config.h.in
xmake.lua
Lua xmake.lua
123456789101112131415161718
add_rules("mode.debug", "mode.release")

target("test")
    set_kind("binary")
    add_files("src/main.c")

    -- set config variables
    set_configvar("FOO_ENABLE", 1)
    set_configvar("FOO_STRING", "hello xmake")

    -- set config directory
    set_configdir("$(builddir)/config")
    
    -- generate config header
    add_configfiles("config.h.in")
    
    -- add include directory
    add_includedirs("$(builddir)/config")

Build and Run

bash
$ xmake
$ xmake run