发布于 2016-01-05 08:53:53 | 176 次阅读 | 评论: 0 | 来源: PHPERZ
XMake 自动构建工具
XMake 是一个跨平台自动构建工具,支持在各种主流平台上构建项目,类似 cmake、automake、premake,但是更加的方便易用,工程描述语法更简洁直观,支持平台更多,并且集创建、配置、编译、打包、安装、卸载、运行于一体。
xmake的add_files接口不仅可以添加源代码文件进行编译,还可以直接添加.o/obj对象文件、以及.a/lib的库文件到编译目标中,这个跟add_links是有区别的
add_links:只能添加链接,例如: -lxxxx 这种,链接的目标也只能是可执行程序、动态库,而且只会链接需要的代码进去
add_files:是直接将静态库中的所有对象文件,解包、重新打包到新的target中,这个target可以是新的静态库,也可以是可执行程序、或者动态库
例如:
add_target("test")
-- 生成静态库:libtest.a
set_kind("static")
-- 添加对象文件
add_files("obj/*.o")
-- 添加静态库,将里面的对象文件重新打包到libtest.a中,生成新的静态库
add_files("lib/*.a")
这个target模块,可以没有任何源码,单纯的将所有静态库、对象文件重新打包到一个新的静态库中,当然再加一些源文件也是可以的
target的类型也没有限定,你也可以指定输出为动态库:shared,可执行程序:binary
例如:
add_target("test2")
-- 生成动态库:libtest2.so
set_kind("shared")
-- 添加对象文件
add_files("obj/*.o")
-- 添加静态库libtest.a中的所有对象文件
add_files("lib/libtest.a")
-- 添加一些源文件
add_files("src/*.c")