CMP0037¶
警告
此政策的 OLD
行為已在 CMake 4.0 版本中移除。此政策必須透過呼叫 cmake_minimum_required()
或 cmake_policy()
設定為 NEW
。
目標名稱不應被保留,且應符合有效性模式。
CMake 2.8.12 及更低版本允許使用 add_library()
、add_executable()
和 add_custom_target()
建立目標,目標名稱的選擇不受限制。較新的 cmake 功能,例如 cmake-generator-expressions(7)
和一些診斷功能,期望目標名稱符合受限制的模式。
目標名稱可以包含大寫和小寫字母、數字、底線字元 (_
)、點 (.
)、加號 (+
) 和減號 (-
)。作為特例,ALIAS
和 IMPORTED
目標可以包含兩個連續的冒號。
不允許使用一個或多個 CMake 產生器保留的目標名稱。其中包括 all
、clean
、help
和 install
等。
與可選功能相關聯的目標名稱,例如 test
和 package
,也可能被保留。CMake 3.10 及更低版本始終保留它們。CMake 3.11 及更高版本僅在啟用相應功能時才保留它們(例如,透過包含 CTest
或 CPack
模組)。
此政策的 OLD
行為是允許建立具有保留名稱或不符合有效性模式的目標。此政策的 NEW
行為是在使用無效目標名稱使用 add_* 命令時報告錯誤。
此政策在 CMake 3.0 版本中引入。在 CMake 4.0 版本中移除之前,可以透過 cmake_policy()
或 cmake_minimum_required()
設定。如果未設定,CMake 會發出警告,並使用 OLD
行為。