更细粒度的文件编译选项控制

2017-08-10 ruki 更多博文 » 博客 » GitHub »

xmake lua 编译选项

原文链接 https://waruqi.github.io/2017/08/10/config-files-options.cn/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


之前的版本对编译控制粒度,只能到target这一级:

-- 全局根配置,所有target都会被影响
add_defines("ROOT")

target("test")

    -- target目标配置,只对test目标下的所有源文件编译生效
    add_defines("TEST")
    add_files("src/*.c")

最近给2.1.6开发版本中的add_files进行了改进,支持基于files更细粒度的编译选项控制,例如:

target("test")
    add_defines("TEST1")
    add_files("src/*.c")
    add_files("test/*.c", "test2/test2.c", {defines = "TEST2", languages = "c99", includedirs = ".", cflags = "-O0"})

可以在add_files的最后一个参数,传入一个配置table,去控制指定files的编译选项,里面的配置参数跟target的一致,并且这些文件还会继承target的通用配置-DTEST1

针对add_files的更多描述,见手册文档,大家可以下载master版本来预先体验这一新特性。