add_compile_options

在源文件的编译中添加选项。

add_compile_options(<option> ...)

COMPILE_OPTIONS 目录属性添加选项。这些选项在从当前目录及以下目录编译目标时使用。

注意

这些选项在链接时未使用。有关这方面内容,请参阅 add_link_options() 命令。

参数

add_compile_options 的参数可以使用带语法 $<...> 的生成器表达式。有关可用的表达式,请参阅 cmake-generator-expressions(7) 手册。有关定义构建系统属性的更多信息,请参阅 cmake-buildsystem(7) 手册。

选项去重

用于目标的最终选项集是通过累积来自当前目标的选项及其依赖项的使用要求而构建的。为了避免重复,选项集已去重。

在 3.12 版中添加: 虽然对单个选项有益,但去重步骤可能会破坏选项组。例如,-option A -option B 变成 -option A B。一个人可以使用类似 Shell 的引号以及 SHELL: 前缀来指定一组选项。将删除 SHELL: 前缀,并使用 separate_arguments() UNIX_COMMAND 模式解析选项字符串的其余部分。例如,"SHELL:-option A" "SHELL:-option B" 变成 -option A -option B

示例

由于不同的编译器支持不同的选项,因此此命令的典型用法是在编译器特定的条件子句中

if (MSVC)
    # warning level 4
    add_compile_options(/W4)
else()
    # additional warnings
    add_compile_options(-Wall -Wextra -Wpedantic)
endif()

要设置语言选项,请使用 $<COMPILE_LANGUAGE>$<COMPILE_LANGUAGE:languages> 生成器表达式。

另请参阅