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