CMP0182.rst 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. CMP0182
  2. -------
  3. .. versionadded:: 4.0
  4. Create shared library archives by default on AIX.
  5. CMake 3.30 and below always represented ``SHARED`` library targets
  6. as plain shared object ``.so`` files. This is consistent with other
  7. UNIX platforms, but is not the preferred convention on AIX.
  8. CMake 3.31 added the :prop_tgt:`AIX_SHARED_LIBRARY_ARCHIVE` target
  9. property to create a shared library archive: the shared object ``.so``
  10. file is placed inside an archive ``.a`` file. However, the behavior
  11. was disabled by default for compatibility with existing projects that
  12. do not set :prop_tgt:`AIX_SHARED_LIBRARY_ARCHIVE`.
  13. CMake 4.0 and above prefer, when :prop_tgt:`AIX_SHARED_LIBRARY_ARCHIVE`
  14. is not set, to enable creation of shared library archives by default
  15. because it is the preferred convention on AIX. This policy provides
  16. compatibility for projects that have not been updated.
  17. The ``OLD`` behavior for this policy is to disable shared library
  18. archives when :prop_tgt:`AIX_SHARED_LIBRARY_ARCHIVE` is not set.
  19. The ``NEW`` behavior for this policy is to enable shared library
  20. archives when :prop_tgt:`AIX_SHARED_LIBRARY_ARCHIVE` is not set.
  21. .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 4.0
  22. .. |WARNS_OR_DOES_NOT_WARN| replace:: does *not* warn
  23. .. include:: include/STANDARD_ADVICE.rst
  24. .. include:: include/DEPRECATED.rst