mirror of
https://github.com/Kitware/CMake.git
synced 2026-07-01 12:18:01 +00:00
GNUInstallDirs: Apply Debian multiarch LIBDIR to more prefixes
On typical Debian amd64 system (bullseye), multiarch is setup as:
```
% cat /etc/ld.so.conf.d/x86_64-linux-gnu.conf
/usr/local/lib/x86_64-linux-gnu
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
```
Where:
```
% apt-cache policy libc6:amd64
libc6:
Installed: 2.31-13+deb11u2
Candidate: 2.31-13+deb11u2
Version table:
*** 2.31-13+deb11u2 500
500 http://deb.debian.org/debian bullseye/main amd64 Packages
100 /var/lib/dpkg/status
```
Update GNUInstallDirs to support all three cases `/`, `/usr/` and
`/usr/local/`.
Fixes: #19698
This commit is contained in:
committed by
Brad King
parent
7d1cb6496e
commit
dd9584b352
@@ -52,8 +52,10 @@ where ``<dir>`` is one of:
|
||||
.. versionadded:: 3.9
|
||||
run-time variable data (``LOCALSTATEDIR/run``)
|
||||
``LIBDIR``
|
||||
object code libraries (``lib`` or ``lib64``
|
||||
or ``lib/<multiarch-tuple>`` on Debian)
|
||||
object code libraries (``lib`` or ``lib64``)
|
||||
|
||||
On Debian, this may be ``lib/<multiarch-tuple>`` when
|
||||
:variable:`CMAKE_INSTALL_PREFIX` is ``/``, ``/usr``, or ``/usr/local``.
|
||||
``INCLUDEDIR``
|
||||
C header files (``include``)
|
||||
``OLDINCLUDEDIR``
|
||||
@@ -269,7 +271,9 @@ if(NOT DEFINED CMAKE_INSTALL_LIBDIR OR (_libdir_set
|
||||
|
||||
if(__system_type_for_install STREQUAL "debian")
|
||||
if(CMAKE_LIBRARY_ARCHITECTURE)
|
||||
if("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$")
|
||||
if("${CMAKE_INSTALL_PREFIX}" STREQUAL "/"
|
||||
OR "${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$"
|
||||
OR "${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/local/?$")
|
||||
set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
|
||||
endif()
|
||||
if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX
|
||||
|
||||
@@ -4,7 +4,7 @@ CMAKE_INSTALL_DATAROOTDIR='usr/share'
|
||||
CMAKE_INSTALL_DOCDIR='usr/share/doc/Root'
|
||||
CMAKE_INSTALL_INCLUDEDIR='usr/include'
|
||||
CMAKE_INSTALL_INFODIR='usr/share/info'
|
||||
CMAKE_INSTALL_LIBDIR='usr/lib'
|
||||
CMAKE_INSTALL_LIBDIR='usr/lib/arch'
|
||||
CMAKE_INSTALL_LIBEXECDIR='usr/libexec'
|
||||
CMAKE_INSTALL_LOCALEDIR='usr/share/locale'
|
||||
CMAKE_INSTALL_LOCALSTATEDIR='var'
|
||||
@@ -19,7 +19,7 @@ CMAKE_INSTALL_FULL_DATAROOTDIR='/usr/share'
|
||||
CMAKE_INSTALL_FULL_DOCDIR='/usr/share/doc/Root'
|
||||
CMAKE_INSTALL_FULL_INCLUDEDIR='/usr/include'
|
||||
CMAKE_INSTALL_FULL_INFODIR='/usr/share/info'
|
||||
CMAKE_INSTALL_FULL_LIBDIR='/usr/lib'
|
||||
CMAKE_INSTALL_FULL_LIBDIR='/usr/lib/arch'
|
||||
CMAKE_INSTALL_FULL_LIBEXECDIR='/usr/libexec'
|
||||
CMAKE_INSTALL_FULL_LOCALEDIR='/usr/share/locale'
|
||||
CMAKE_INSTALL_FULL_LOCALSTATEDIR='/var'
|
||||
|
||||
@@ -4,7 +4,7 @@ CMAKE_INSTALL_DATAROOTDIR='share'
|
||||
CMAKE_INSTALL_DOCDIR='share/doc/UsrLocal'
|
||||
CMAKE_INSTALL_INCLUDEDIR='include'
|
||||
CMAKE_INSTALL_INFODIR='share/info'
|
||||
CMAKE_INSTALL_LIBDIR='lib'
|
||||
CMAKE_INSTALL_LIBDIR='lib/arch'
|
||||
CMAKE_INSTALL_LIBEXECDIR='libexec'
|
||||
CMAKE_INSTALL_LOCALEDIR='share/locale'
|
||||
CMAKE_INSTALL_LOCALSTATEDIR='var'
|
||||
@@ -19,7 +19,7 @@ CMAKE_INSTALL_FULL_DATAROOTDIR='/usr/local/share'
|
||||
CMAKE_INSTALL_FULL_DOCDIR='/usr/local/share/doc/UsrLocal'
|
||||
CMAKE_INSTALL_FULL_INCLUDEDIR='/usr/local/include'
|
||||
CMAKE_INSTALL_FULL_INFODIR='/usr/local/share/info'
|
||||
CMAKE_INSTALL_FULL_LIBDIR='/usr/local/lib'
|
||||
CMAKE_INSTALL_FULL_LIBDIR='/usr/local/lib/arch'
|
||||
CMAKE_INSTALL_FULL_LIBEXECDIR='/usr/local/libexec'
|
||||
CMAKE_INSTALL_FULL_LOCALEDIR='/usr/local/share/locale'
|
||||
CMAKE_INSTALL_FULL_LOCALSTATEDIR='/usr/local/var'
|
||||
|
||||
Reference in New Issue
Block a user