CMAKE_<LANG>_LINKER_WRAPPER_FLAG

在版本 3.13 中新增。

定義編譯器驅動程式選項的語法,以將選項傳遞給連結器工具。它將用於轉換連結選項中的 LINKER: 前綴(請參閱 add_link_options()target_link_options())。

此變數保存一個 以分號分隔的列表,其中包含多個符號 (tokens)。如果將空格(即 " ")指定為最後一個符號,則 flag 和 LINKER: 參數將被指定為編譯器驅動程式的個別參數。CMAKE_<LANG>_LINKER_WRAPPER_FLAG_SEP 變數可以用於管理參數的串連。

例如,對於 Clang,我們有

set (CMAKE_C_LINKER_WRAPPER_FLAG "-Xlinker" " ")

指定 "LINKER:-z,defs" 將被轉換為 -Xlinker -z -Xlinker defs

對於 GNU GCC

set (CMAKE_C_LINKER_WRAPPER_FLAG "-Wl,")
set (CMAKE_C_LINKER_WRAPPER_FLAG_SEP ",")

指定 "LINKER:-z,defs" 將被轉換為 -Wl,-z,defs

而對於 SunPro

set (CMAKE_C_LINKER_WRAPPER_FLAG "-Qoption" "ld" " ")
set (CMAKE_C_LINKER_WRAPPER_FLAG_SEP ",")

指定 "LINKER:-z,defs" 將被轉換為 -Qoption ld -z,defs