CMAKE_MODULE_LINKER_FLAGS

用于创建模块的链接器标志。

这些标志将在创建模块时由链接器使用。

处理编译器驱动器差异

4.0 版本新增。

为了将选项传递给链接器工具,每个编译器驱动程序都有其自己的语法。 `LINKER:` 前缀和 `,` 分隔符可用于以可移植的方式指定要传递给链接器工具的选项。`LINKER:` 将被替换为适当的驱动程序选项,而 `,` 将被替换为适当的驱动程序分隔符。驱动程序前缀和驱动程序分隔符由 `CMAKE__LINKER_WRAPPER_FLAG` 和 `CMAKE__LINKER_WRAPPER_FLAG_SEP` 变量的值给出。

例如,对于 Clang"LINKER:-z,defs" 会变成 -Xlinker -z -Xlinker defs;对于 GNU GCC,则会变成 -Wl,-z,defs

LINKER: 前缀支持使用 SHELL: 前缀和空格作为分隔符来指定参数,作为一种替代语法。前面的示例将变为 "LINKER:SHELL:-z defs"

注意

不支持在 LINKER: 前缀的开头以外的任何位置指定 SHELL: 前缀。

此支持意味着需要解析和重新引用变量的内容。请参阅策略 CMP0181