COMPILE_OPTIONS

传递给编译器的选项列表。

此属性包含为其目标目前为止指定的一个分号分隔列表选项。使用target_compile_options()命令来追加更多选项。这些选项将在CMAKE_<LANG>_FLAGSCMAKE_<LANG>_FLAGS_<CONFIG>变量中的标志之后添加,但在通过INTERFACE_COMPILE_OPTIONS属性从依赖项传播的选项之前添加。

此属性为目标中的所有语言添加编译选项。使用COMPILE_LANGUAGE生成器表达式来指定每种语言的编译选项。

此属性在创建目标时由COMPILE_OPTIONS目录属性初始化,并由生成器用于设置编译器的选项。

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