Commit Graph

11 Commits

Author SHA1 Message Date
Brad King a61007b3b0 Tests: Add RunCMake.GNUInstallDirs case for get_absolute_install_dir 2020-11-04 15:10:25 -05:00
Dennis Klein 798c1c3192 GNUInstallDirs: Comply with Debian Policy on LIBEXECDIR
If CMAKE_INSTALL_PREFIX is /usr, CMAKE_INSTALL_LIBEXECDIR shall return
the same value as CMAKE_INSTALL_LIBDIR on Debian.

While the FHS allows /usr/libexec for internal binaries
(https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlibexec) the
Debian Policy Manual states an exception here (section 9.1.1 bullet point 4):
https://www.debian.org/doc/debian-policy/ch-opersys#file-system-structure.

Fixes: #21287
2020-10-08 11:10:41 -04:00
Brad King 75bcd3cf54 Tests: Add RunCMake.GNUInstallDirs expected output specific to Debian 2020-10-08 11:09:37 -04:00
Vitaly Lipatov c18ed7236d GNUInstallDirs: Warn when CMAKE_SYSTEM_NAME is not set
If a project writes `include(GNUInstallDirs)` before `project()` then
`CMAKE_SYSTEM_NAME` may not be set and an incorrect `LIBDIR` may be
computed.  Warn about this case.
2020-01-30 09:14:47 -05:00
Tobias C. Berner f835f189ae GNUInstallDirs: Update FreeBSD "info" destination to share/info
FreeBSD ports commit r484628 (Install texinfo files (GNU info) into
${PREFIX}/share/info, 2018-11-10) changed the "info" destination
from "info" to "share/info".  The commit included a patch to their
distribution of CMake to fix the `GNUInstallDirs` module too.
Apply a similar logic change to our upstream version of the module.

We already made a similar change for GNU/kFreeBSD in commit
v3.13.0-rc2~8^2 (GNUInstallDirs: Don't use BSD info and man paths on
GNU/kFreeBSD, 2018-10-21).

Fixes: #18585
2018-11-13 13:35:50 -05:00
Brad King 1b8f0ca515 Tests: Split GNUInstallDirs expectations for FreeBSD 2018-11-13 13:35:19 -05:00
James Clarke b2d7ab8bd1 GNUInstallDirs: Don't use BSD info and man paths on GNU/kFreeBSD 2018-10-22 12:58:54 -04:00
Brad King 913736f17d Tests: Fix RunCMake.GNUInstallDirs on BSD platforms
The `GNUInstallDirs` module has different defaults on BSD platforms.
Update the test expected output to account for the difference.

Fixes: #16887
2017-06-02 16:26:30 -04:00
Felix Geyer 40814a7ce9 GNUInstallDirs: Add RUNSTATEDIR variable 2017-04-20 17:25:46 +02:00
Alex Turbov c8bd37ec68 GNUInstallDirs: Add special cases for certain prefixes
Teach the module to handle SYSCONFDIR and LOCALSTATEDIR properly if
CMAKE_INSTALL_PREFIX is set to `/` or `/usr` -- i.e. as expected by GNU
Coding Standard (i.e. set SYSCONFDIR to `/etc` and `LOCALSTATEDIR` to
`/var`).  Also if CMAKE_INSTALL_PREFIX is set to /opt/pkg, `SYSCONFDIR`
must be set to `/etc/opt/pkg` and `LOCALSTATEDIR` to `/var/opt/pkg`
according to FHS.
2015-06-18 08:59:34 -04:00
Brad King 5f30f1754a GNUInstallDirs: Add test cases
Add a RunCMake.GNUInstallDirs test with cases covering various install
prefixes.  Hard-code the architecture information.  Tolerate all
platform-specific LIBDIR values.

Currently the root prefix is not handled well, but verify the current
behavior in the test anyway.  This can be addressed with a future
change.

Inspired-by: Alex Turbov <i.zaufi@gmail.com>
2015-06-18 08:59:24 -04:00