CMP0101¶
在 3.17 版本中添加。
target_compile_options()
现在始终支持 BEFORE
关键词。
在 CMake 3.16 及更低版本中,target_compile_options()
命令在将项插入 COMPILE_OPTIONS
目标属性(PRIVATE
和 PUBLIC
项)时忽略 BEFORE
关键词。CMake 3.17 及更高版本在所有情况下都支持 BEFORE
关键词。此策略为尚未升级以满足新行为预期的项目提供兼容性。
将项插入 INTERFACE_COMPILE_OPTIONS
目标属性(PUBLIC
和 INTERFACE
项)时的行为不受此策略影响。添加项到 INTERFACE_COMPILE_OPTIONS
时始终会支持 BEFORE
关键词。
此策略的 OLD
行为是在插入到 COMPILE_OPTIONS
属性时不支持 BEFORE
关键词。此策略的 NEW
行为是在所有情况下都支持 BEFORE
关键词。
此策略在 CMake 3.17 版本中引入。它可以通过 cmake_policy()
或 cmake_minimum_required()
来设置。如果未设置此策略,CMake 不会 发出警告,且使用 OLD
行为。
注意
此策略的 OLD
行为 已定义 弃用
,并在 CMake 的未来版本中删除。