STATIC_LIBRARY_OPTIONS

版本 3.13 中新增。

静态库目标的归档器(或 MSVC 库管理器)标志。共享库、模块或可执行目标需要使用 LINK_OPTIONS 目标属性。

此属性保存到目前为止为其目标指定的选项的分号分隔列表。使用 set_target_properties()set_property() 命令来设置其内容。

STATIC_LIBRARY_OPTIONS 的内容可能使用“生成器表达式”,语法为 $<...>。有关可用表达式,请参阅 cmake-generator-expressions(7) 手册。有关定义构建系统属性的更多信息,请参阅 cmake-buildsystem(7) 手册。

注意

此属性必须优先于 STATIC_LIBRARY_FLAGS 属性使用。

选项去重

用于目标的最终选项集是通过累积来自当前目标及其依赖项的使用要求的选项来构建的。选项集已去重以避免重复。

版本 3.12 中新增:虽然对单个选项有利,但去重步骤可能会破坏选项组。例如,-option A -option B 变为 -option A B。可以结合 SHELL: 前缀使用类似 shell 的引用来指定一组选项。SHELL: 前缀被删除,选项字符串的其余部分使用 separate_arguments() UNIX_COMMAND 模式进行解析。例如,"SHELL:-option A" "SHELL:-option B" 变为 -option A -option B

处理归档器驱动程序差异

版本 4.0 中新增。

要将选项传递给归档器工具,每个编译器驱动程序都有自己的语法。ARCHIVER: 前缀和 , 分隔符可用于以可移植的方式指定要传递给归档器工具的选项。ARCHIVER: 被相应的驱动程序选项替换,, 被相应的驱动程序分隔符替换。驱动程序前缀和驱动程序分隔符由 CMAKE_<LANG>_ARCHIVER_WRAPPER_FLAGCMAKE_<LANG>_ARCHIVER_WRAPPER_FLAG_SEP 变量的值给出。

ARCHIVER: 前缀可以指定为 SHELL: 前缀表达式的一部分。

ARCHIVER: 前缀支持作为替代语法,使用 SHELL: 前缀和空格作为分隔符来指定参数。

注意

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