xmake工程描述入门

jopen 9年前

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

工程默认描述文件名为xmake.lua,支持多级目录嵌套,也可以通过以下命令,指定其他文件作为工程描述文件:

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

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

-- 添加一个名为demo的目标到工程  add_target("demo")        -- 设置目标程序类型为二进制可执行程序,一般为console的终端命令行程序      set_kind("binary")        -- 添加src目录下的所有c文件      add_files("src/*.c") 

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

下面我们看一个稍微复杂一点的例子,这个例子中对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的分支、循环、函数等语法,进行更加灵活的配置。。

来自: http://segmentfault.com/a/1190000004236885