CMP0056¶
於 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_policy()
或 cmake_minimum_required()
設定。如果未設定,CMake 預設不會發出警告,並使用 OLD
行為。
請參閱 CMAKE_POLICY_WARNING_CMP0056
變數的文件來控制警告。
注意
政策的 OLD
行為是 依定義已棄用
,並且可能會在未來版本的 CMake 中移除。