This commit is contained in:
kleuter
2023-11-01 22:26:17 +01:00
parent 94b1c5907b
commit 860ee1cc77
3387 changed files with 257471 additions and 0 deletions

View File

@ -0,0 +1,18 @@
Disclaimer: Most native build tools have poor support for escaping
certain values. CMake has work-arounds for many cases but some values
may just not be possible to pass correctly. If a value does not seem
to be escaped correctly, do not attempt to work-around the problem by
adding escape sequences to the value. Your work-around may break in a
future version of CMake that has improved escape support. Instead
consider defining the macro in a (configured) header file. Then
report the limitation. Known limitations include::
# - broken almost everywhere
; - broken in VS IDE 7.0 and Borland Makefiles
, - broken in VS IDE
% - broken in some cases in NMake
& | - broken in some cases on MinGW
^ < > \" - broken in most Make tools on Windows
CMake does not reject these values outright because they do work in
some cases. Use with caution.

View File

@ -0,0 +1,18 @@
Note that it is not advisable to populate the :genex:`INSTALL_INTERFACE` of
the |INTERFACE_PROPERTY_LINK| of a target with absolute paths to the include
directories of dependencies. That would hard-code into installed packages
the include directory paths for dependencies
**as found on the machine the package was made on**.
The :genex:`INSTALL_INTERFACE` of the |INTERFACE_PROPERTY_LINK| is only
suitable for specifying the required include directories for headers
provided with the target itself, not those provided by the transitive
dependencies listed in its :prop_tgt:`INTERFACE_LINK_LIBRARIES` target
property. Those dependencies should themselves be targets that specify
their own header locations in |INTERFACE_PROPERTY_LINK|.
See the :ref:`Creating Relocatable Packages` section of the
:manual:`cmake-packages(7)` manual for discussion of additional care
that must be taken when specifying usage requirements while creating
packages for redistribution.

View File

@ -0,0 +1,10 @@
Note that it is not advisable to populate the
|INTERFACE_PROPERTY_LINK| of a target with absolute paths to dependencies.
That would hard-code into installed packages the library file paths
for dependencies **as found on the machine the package was made on**.
See the :ref:`Creating Relocatable Packages` section of the
:manual:`cmake-packages(7)` manual for discussion of additional care
that must be taken when specifying usage requirements while creating
packages for redistribution.