aboutsummaryrefslogtreecommitdiff
path: root/manual.md
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2017-11-21 22:44:47 +0800
committerruki <waruqi@gmail.com>2017-11-21 10:28:45 +0800
commitd25f26f5ab3f1ef9720688a42d2f92a4a8c75d96 (patch)
tree15d653af59417d28165ef87cf4826f70b2ded413 /manual.md
parent6875160c58a65d18f78b8b1bd305f8cd84dce255 (diff)
downloadxmake-docs-d25f26f5ab3f1ef9720688a42d2f92a4a8c75d96.tar.gz
xmake-docs-d25f26f5ab3f1ef9720688a42d2f92a4a8c75d96.zip
add force flags
Diffstat (limited to 'manual.md')
-rw-r--r--manual.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/manual.md b/manual.md
index c7a3987c..14f98d6a 100644
--- a/manual.md
+++ b/manual.md
@@ -1647,6 +1647,13 @@ target("test")
关于自定义构建规则的使用说明,详细见:[构建规则](#构建规则)。
+<p class="tips">
+默认情况下,添加的cxflags,cflags等编译选项的都是带自动检测和映射的,如果传入的选项,当前编译器不支持,就会自动忽略或者自动映射为当前编译器支持的选项。
+如果觉得传入的参数确实没问题,但是xmake确自动忽略了,这个时候可以通过`xmake -v`显示详细的检测失败信息。
+并且在2.1.9版本之后,可以通过force参数来强制禁用自动检测,直接传入编译器,哪怕编译器有可能不支持,也会设置:
+`add_files("src/*.c", {force = {cxflags = "-DTEST", mflags = "-framework xxx"}})`
+</p>
+
##### target:del_files
###### 从前面的源代码文件列表中删除指定文件
@@ -1816,6 +1823,12 @@ add_cflags("-g", "-O2", "-DDEBUG")
用户无需操心其兼容性,如果其他编译器没有对应的匹配值,那么xmake会自动忽略器设置。
</p>
+在2.1.9版本之后,可以通过force参数来强制禁用flags的自动检测,直接传入编译器,哪怕编译器有可能不支持,也会设置:
+
+```lua
+add_cflags("-g", "-O2", {force = true})
+```
+
##### target:add_cxflags
###### 添加c/c++编译选项
@@ -1838,6 +1851,12 @@ add_cflags("-g", "-O2", "-DDEBUG")
add_mflags("-g", "-O2", "-DDEBUG")
```
+在2.1.9版本之后,可以通过force参数来强制禁用flags的自动检测,直接传入编译器,哪怕编译器有可能不支持,也会设置:
+
+```lua
+add_mflags("-g", "-O2", {force = true})
+```
+
##### target:add_mxflags
###### 添加objc/objc++编译选项