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_FLAG
和 CMAKE_<LANG>_ARCHIVER_WRAPPER_FLAG_SEP
变量的值给出。
ARCHIVER:
前缀可以作为 SHELL:
前缀表达式的一部分指定。
ARCHIVER:
前缀支持使用 SHELL:
前缀和空格作为分隔符来指定参数的替代语法。
注意
不支持在 ARCHIVER:
前缀开头以外的任何位置指定 SHELL:
前缀。