Help: install: use bullet lists to sort out target kinds

This commit is contained in:
Joachim Wuttke (o)
2020-02-17 15:44:46 +01:00
committed by Brad King
parent b3f4d50348
commit 22aac6669b

View File

@@ -126,31 +126,38 @@ Installing Targets
)
The ``TARGETS`` form specifies rules for installing targets from a
project. There are several kinds of target files that may be installed:
project. There are several kinds of target :ref:`Output Artifacts`
that may be installed:
``ARCHIVE``
Static libraries are treated as ``ARCHIVE`` targets, except those
marked with the ``FRAMEWORK`` property on macOS (see ``FRAMEWORK``
below.) For DLL platforms (all Windows-based systems including
Cygwin), the DLL import library is treated as an ``ARCHIVE`` target.
On AIX, the linker import file created for executables with
:prop_tgt:`ENABLE_EXPORTS` is treated as an ``ARCHIVE`` target.
Target artifacts of this kind include:
* *Static libraries*
(except on macOS when marked as ``FRAMEWORK``, see below);
* *DLL import libraries*
(on all Windows-based systems including Cygwin; they have extension
``.lib``, in contrast to the ``.dll`` libraries that go to ``RUNTIME``);
* On AIX, the *linker import file* created for executables with
:prop_tgt:`ENABLE_EXPORTS` enabled.
``LIBRARY``
Module libraries are always treated as ``LIBRARY`` targets. For non-
DLL platforms shared libraries are treated as ``LIBRARY`` targets,
except those marked with the ``FRAMEWORK`` property on macOS (see
``FRAMEWORK`` below.)
Target artifacts of this kind include:
* *Shared libraries*, except
- DLLs (these go to ``RUNTIME``, see below),
- on macOS when marked as ``FRAMEWORK`` (see below).
``RUNTIME``
Executables are treated as ``RUNTIME`` objects, except those marked
with the ``MACOSX_BUNDLE`` property on macOS (see ``BUNDLE`` below.)
For DLL platforms (all Windows-based systems including Cygwin), the
DLL part of a shared library is treated as a ``RUNTIME`` target.
Target artifacts of this kind include:
* *Executables*
(except on macOS when marked as ``MACOSX_BUNDLE``, see ``BUNDLE`` below);
* DLLs (on all Windows-based systems including Cygwin; note that the
accompanying import libraries are of kind ``ARCHIVE``).
``OBJECTS``
Object libraries (a simple group of object files) are always treated
as ``OBJECTS`` targets.
Object files associated with *object libraries*.
``FRAMEWORK``
Both static and shared libraries marked with the ``FRAMEWORK``