CMP0112¶
新增於 3.19 版本。
目標檔案組件產生器表達式不會加入目標相依性。
以下基於目標的產生器表達式,查詢目錄或檔案名稱組件時,不再加入被評估目標的相依性。
TARGET_FILE_NAME
TARGET_FILE_DIR
TARGET_LINKER_FILE_BASE_NAME
TARGET_LINKER_FILE_NAME
TARGET_LINKER_FILE_DIR
TARGET_SONAME_FILE_NAME
TARGET_SONAME_FILE_DIR
TARGET_PDB_FILE_NAME
TARGET_PDB_FILE_DIR
TARGET_BUNDLE_DIR
TARGET_BUNDLE_DIR_NAME
TARGET_BUNDLE_CONTENT_DIR
在 CMake 3.18 及更早版本中,上述產生器表達式的被評估目標總是會加入相依性。CMake 3.19 及以上版本偏好不加入此相依性。此政策為尚未更新以預期新行為的專案提供相容性。政策設定會在每個目標建立時記錄,並決定引用該目標的產生器表達式是否隱含對它的相依性。
此政策的 OLD
行為是對上述產生器表達式的被評估目標加入相依性。此政策的 NEW
行為是不對上述產生器表達式的被評估目標加入相依性。
此政策在 CMake 3.19 版本中引入。可由 cmake_policy()
或 cmake_minimum_required()
設定。如果未設定,CMake 預設不會發出警告,並使用 OLD
行為。
請參閱 CMAKE_POLICY_WARNING_CMP0112
變數的文件來控制警告。
注意
政策的 OLD
行為是依定義已棄用
,並可能在未來版本的 CMake 中移除。