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 版本中的警告。