COMPILE_OPTIONS(prop_tgt)

93 阅读1分钟

原文地址:cmake.org/cmake/help/…

传递给编译器的 option 列表。

此 property 包含到目前为止 target 指定的以分号分隔的 option 列表。使用 target_compile_options() command 附加更多 option。这些 option 将添加在 CMAKE_<LANG>_FLAGSCMAKE_<LANG>_FLAGS_<CONFIG> 变量中的 flags 之后,但在 dependencies 传播的 INTERFACE_COMPILE_OPTIONS property 之前。

此 property 在创建 target 时由 COMPILE_OPTIONS directory property 初始化,generators 使用它来设置编译器的 options。

COMPILE_OPTIONS 的内容可以使用语法为 $<...> 的“generator expressions”。有关可用expressions,请参阅 cmake-generator-expressions(7) 手册。有关定义 buildsystem properties 的更多信息,请参阅 cmake-buildsystem 手册。

Option De-duplication

Option 去重

用于 target 的最终 options set 是通过累积当前 target 的 options 及其 dependecies usage requirements 而构建的。对 options set 进行去重以避免重复。

3.12 版中的新功能:虽然对单个选项有益,但重复数据删除步骤可以分解选项组。例如,-option A -option B 变为 -option A B。可以使用类似 shell 的引号和 SHELL: prefix 来指定一组 options。 SHELL: prefix 被删除,option 字符串的其余部分使用 separate_arguments() UNIX_COMMAND 模式进行解析。例如,“SHELL:-option A” “SHELL:-option B” 变成 -option A -option B