STATIC_LIBRARY_OPTIONS

Added in version 3.13.

Archiver (or MSVC librarian) flags for a static library target. Targets that are shared libraries, modules, or executables need to use the LINK_OPTIONS target property.

This property holds a semicolon-separated list of options specified so far for its target. Use set_target_properties() or set_property() commands to set its content.

Contents of STATIC_LIBRARY_OPTIONS may use "generator expressions" with the syntax $<...>. See the cmake-generator-expressions(7) manual for available expressions. See the cmake-buildsystem(7) manual for more on defining buildsystem properties.

Note

This property must be used in preference to STATIC_LIBRARY_FLAGS property.

Option De-duplication

The final set of options used for a target is constructed by accumulating options from the current target and the usage requirements of its dependencies. The set of options is de-duplicated to avoid repetition.

Added in version 3.12: While beneficial for individual options, the de-duplication step can break up option groups. For example, -option A -option B becomes -option A B. One may specify a group of options using shell-like quoting along with a SHELL: prefix. The SHELL: prefix is dropped, and the rest of the option string is parsed using the separate_arguments() UNIX_COMMAND mode. For example, "SHELL:-option A" "SHELL:-option B" becomes -option A -option B.

Handling Archiver Driver Differences

Added in version 3.32.

To pass options to the archiver tool, each compiler driver has its own syntax. The ARCHIVER: prefix and , separator can be used to specify, in a portable way, options to pass to the archiver tool. ARCHIVER: is replaced by the appropriate driver option and , by the appropriate driver separator. The driver prefix and driver separator are given by the values of the CMAKE_<LANG>_ARCHIVER_WRAPPER_FLAG and CMAKE_<LANG>_ARCHIVER_WRAPPER_FLAG_SEP variables.

The ARCHIVER: prefix can be specified as part of a SHELL: prefix expression.

The ARCHIVER: prefix supports, as an alternative syntax, specification of arguments using the SHELL: prefix and space as separator.

Note

Specifying the SHELL: prefix anywhere other than at the beginning of the ARCHIVER: prefix is not supported.