CMP0056

警告

此政策的 OLD 行為已在 CMake 4.0 版本中移除。此政策必須透過呼叫 cmake_minimum_required()cmake_policy() 設定為 NEW

在版本 3.2 中新增。

try_compile() 原始檔簽章中採用連結旗標。

try_compile() 命令原始檔簽章會產生一個 CMakeLists.txt 檔案,以將原始檔建置為可執行檔。為了以與呼叫專案可能編譯原始檔相同的方式進行編譯,產生的專案會將 CMAKE_<LANG>_FLAGS 變數的值設定為呼叫專案中的值。CMAKE_EXE_LINKER_FLAGS 變數在某些情況下可能也需要,但 CMake 3.1 及更低版本並未在產生的專案中設定它。CMake 3.2 及更高版本傾向於設定它,以便同時採用連結器旗標和編譯器旗標。此政策提供與 3.2 之前行為的相容性。

此政策的 OLD 行為是在產生的測試專案中不設定 CMAKE_EXE_LINKER_FLAGS 變數的值。此政策的 NEW 行為是在測試專案中將 CMAKE_EXE_LINKER_FLAGS 變數的值設定為與呼叫專案中的值相同。

如果專案程式碼未明確設定此政策,使用者可以透過在快取中定義 CMAKE_POLICY_DEFAULT_CMP0056 變數,在命令列上設定它。

此政策在 CMake 3.2 版本中引入。在 CMake 4.0 版本中移除之前,可以透過 cmake_policy()cmake_minimum_required() 進行設定。如果未設定,CMake 預設情況下不會發出警告,並使用 OLD 行為。

請參閱 CMAKE_POLICY_WARNING_CMP0056 變數的文件,以控制 4.0 之前 CMake 版本中的警告。