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 版本中移除。