[转]:xmake工程描述入门

xmake的工程描述文件,摈弃了makefile的繁琐复杂,借鉴了premake的简洁明了,原生支持lua脚本,使得更加的灵活、方便扩展。c++

工程默认描述文件名为xmake.lua,支持多级目录嵌套,也能够经过如下命令,指定其余文件做为工程描述文件:git

xmake -f /tmp/xxx.lua
xmake --file=xxx.lua

下面先来看一个最简单的例子:github

-- 添加一个名为demo的目标到工程
add_target("demo")

    -- 设置目标程序类型为二进制可执行程序,通常为console的终端命令行程序
    set_kind("binary")

    -- 添加src目录下的全部c文件
    add_files("src/*.c")

怎么样简单吧,这样就已经完成了一个最简单的工程描述。。bash

下面咱们看一个稍微复杂一点的例子,这个例子中对release、debug模式进行了不一样的设置:函数

-- 若是当前编译的是debug模式
if modes("debug") then
    
    -- 启用调试符号
    set_symbols("debug")

    -- 禁用优化
    set_optimize("none")
end

-- 若是当前编译的是release模式
if modes("release") then

    -- 设置符号可见性为不可见
    set_symbols("hidden")

    -- 启用最快优化模式
    set_optimize("fastest")

    -- 去除全部符号信息,包括调试符号
    set_strip("all")
end

-- 添加一个名为test的目标
add_target("test")

    -- 将test编译成为静态库类型
    set_kind("static")

    -- 添加全部c++文件,包括子目录(注:**代表多级递归匹配模式)
    add_files("src/**.cpp")

其实也不是很复杂吧,因为采用lua语法,因此逻辑上更加的灵活,你彻底能够用lua的分支、循环、函数等语法,进行更加灵活的配置。。优化


相关文章
相关标签/搜索