You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.3 KiB
32 lines
1.3 KiB
CMP0164
|
|
-------
|
|
|
|
.. versionadded:: 3.30
|
|
|
|
:command:`add_library` rejects ``SHARED`` libraries when not supported by
|
|
the platform.
|
|
|
|
In CMake 3.29 and below, on platforms that do not support shared libraries
|
|
(:prop_gbl:`TARGET_SUPPORTS_SHARED_LIBS` is false), the
|
|
:command:`add_library` command automatically converts ``SHARED`` libraries to
|
|
``STATIC`` libraries to help users build projects on such platforms. However,
|
|
the semantics of shared and static libraries are different enough that such
|
|
automatic conversion cannot work in general. Projects using shared libraries
|
|
need to be ported to such platforms on a case-by-case basis.
|
|
|
|
In CMake 3.30 and above, :command:`add_library` prefers to reject creation
|
|
of shared libraries on platforms that do not support them, and fail with a
|
|
fatal error message. This policy provides compatibility for projects that
|
|
happened to work with the automatic conversion to static libraries and have
|
|
not been updated with an explicit port.
|
|
|
|
The ``OLD`` behavior for this policy is to implicitly create a static
|
|
library with a developer warning. The ``NEW`` behavior for this policy is
|
|
to fail.
|
|
|
|
.. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.30
|
|
.. |WARNS_OR_DOES_NOT_WARN| replace:: does *not* warn about the behavior change
|
|
.. include:: STANDARD_ADVICE.txt
|
|
|
|
.. include:: DEPRECATED.txt
|