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