Help: Clarify requirements for find_package to use lib{64,32,x32} paths

Issue: #25157
This commit is contained in:
Brad King
2023-09-20 12:44:00 -04:00
parent e625255fe4
commit 51c2927816
2 changed files with 19 additions and 10 deletions

View File

@@ -323,18 +323,27 @@ containing a configuration file:
In all cases the ``<name>`` is treated as case-insensitive and corresponds
to any of the names specified (``<PackageName>`` or names given by ``NAMES``).
Paths with ``lib/<arch>`` are enabled if the
:variable:`CMAKE_LIBRARY_ARCHITECTURE` variable is set. ``lib*`` includes one
or more of the values ``lib64``, ``lib32``, ``libx32`` or ``lib`` (searched in
that order).
If at least one compiled language has been enabled, the architecture-specific
``lib/<arch>`` and ``lib*`` directories may be searched based on the compiler's
target architecture, in the following order:
* Paths with ``lib64`` are searched on 64 bit platforms if the
``lib/<arch>``
Searched if the :variable:`CMAKE_LIBRARY_ARCHITECTURE` variable is set.
``lib64``
Searched on 64 bit platforms (:variable:`CMAKE_SIZEOF_VOID_P` is 8) and the
:prop_gbl:`FIND_LIBRARY_USE_LIB64_PATHS` property is set to ``TRUE``.
* Paths with ``lib32`` are searched on 32 bit platforms if the
``lib32``
Searched on 32 bit platforms (:variable:`CMAKE_SIZEOF_VOID_P` is 4) and the
:prop_gbl:`FIND_LIBRARY_USE_LIB32_PATHS` property is set to ``TRUE``.
* Paths with ``libx32`` are searched on platforms using the x32 ABI
``libx32``
Searched on platforms using the x32 ABI
if the :prop_gbl:`FIND_LIBRARY_USE_LIBX32_PATHS` property is set to ``TRUE``.
* The ``lib`` path is always searched.
``lib``
Always searched.
.. versionchanged:: 3.24
On ``Windows`` platform, it is possible to include registry queries as part

View File

@@ -4,5 +4,5 @@ CMAKE_SIZEOF_VOID_P
Size of a ``void`` pointer.
This is set to the size of a pointer on the target machine, and is determined
by a try compile. If a 64-bit size is found, then the library search
path is modified to look for 64-bit libraries first.
when a compiled language is enabled. If a 64-bit size is found, then the
library search path is modified to look for 64-bit libraries first.