Help: Reword AIX_SHARED_LIBRARY_ARCHIVE to avoid assuming a default

This commit is contained in:
Brad King 2024-11-20 14:38:21 -05:00
parent 655a245d60
commit 7a05e8e994
2 changed files with 14 additions and 10 deletions

View File

@ -3,20 +3,24 @@ AIX_SHARED_LIBRARY_ARCHIVE
.. versionadded:: 3.31
On AIX, enable creation of a shared library archive. This places
the shared object ``.so`` file inside an archive ``.a`` file.
On AIX, enable or disable creation of a shared library archive
for a ``SHARED`` library target:
By default, CMake creates shared libraries on AIX as plain
shared object ``.so`` files for consistency with other UNIX platforms.
Alternatively, set this property to a true value to create a shared
library archive instead, as is AIX convention.
* If enabled, the shared object ``.so`` file is placed inside
an archive ``.a`` file. This is the preferred convention on AIX.
The shared object name in the archive encodes version information from
the :prop_tgt:`SOVERSION` target property, if set, and otherwise from
the :prop_tgt:`VERSION` target property, if set.
The shared object name in the archive encodes version information from
the :prop_tgt:`SOVERSION` target property, if set, and otherwise from
the :prop_tgt:`VERSION` target property, if set.
* If disabled, a plain shared object ``.so`` file is produced.
This is consistent with other UNIX platforms.
This property defaults to :variable:`CMAKE_AIX_SHARED_LIBRARY_ARCHIVE`
if that variable is set when a non-imported ``SHARED`` library target
is created by :command:`add_library`. Imported targets must explicitly
enable :prop_tgt:`!AIX_SHARED_LIBRARY_ARCHIVE` if they import an AIX
shared library archive.
For a non-imported target, if this property is not set, the
default is *disabled*.

View File

@ -3,7 +3,7 @@ CMAKE_AIX_SHARED_LIBRARY_ARCHIVE
.. versionadded:: 3.31
On AIX, enable creation of shared library archives.
On AIX, enable or disable creation of shared library archives.
This variable initializes the :prop_tgt:`AIX_SHARED_LIBRARY_ARCHIVE`
target property on non-imported ``SHARED`` library targets as they are