CMP0026¶
不允許對建置目標使用 LOCATION 屬性。
CMake 2.8.12 及更早版本允許讀取 LOCATION
目標屬性(以及特定組態的變體),以判斷建置目標的最終位置。這依賴於一個假設,即所有必要資訊在組態時都可用於判斷目標的最終位置和檔名。然而,此屬性直到稍後的產生時才完全確定。在產生時,可以使用 $<TARGET_FILE>
產生器表示式來判斷目標輸出的最終 LOCATION
。
讀取 LOCATION
目標屬性的程式碼可以移植為使用 $<TARGET_FILE>
產生器表示式,並結合 file(GENERATE)
子命令來產生包含目標位置的檔案。
此政策的 OLD
行為是允許從建置目標讀取 LOCATION
屬性。此政策的 NEW
行為是不允許從建置目標讀取 LOCATION
屬性。
此政策在 CMake 3.0 版本中引入。它可以使用 cmake_policy()
或 cmake_minimum_required()
設定。如果未設定,CMake 會發出警告,並使用 OLD
行為。
注意
政策的 OLD
行為根據定義是 已棄用
,並可能在未來的 CMake 版本中移除。