As suggested in #1008, this PR adds the project option LAPACK_BINARY_PATH_SUFFIX.
It names a subdirectory added to the install location of all LAPACK
binaries. It is empty by default.
This allows a consumer, to install the Reference LAPACK binaries into a
subdirectory of, e.g., /usr/local/lib without inadvertantly changing the
install location of the CMake package scripts, which remain unchanged in
/usr/local/lib/cmake.
This can be necessary to avoid conflicts with other BLAS/LAPACK
distributions. Previously, this would require the consumer to override
CMAKE_INSTALL_LIBDIR directly. This shouldn't be done, though, because
the variable is provided by the core CMake module GNUInstallDirs and is
used in many places. Thus, changing it can have unforeseen consequences.
Here, overriding it also changed the install locations of the CMake
package scripts and PKGConfig files, which prevents them from being
discovered by default by their respective tools.
This PR also fixes the CMake install instructions in the LAPACK README. They recommended the use of CMAKE_INSTALL_LIBDIR from the command line, which is bad practice (see above). Now, the CMAKE_INSTALL_PREFIX variable is recommended instead, as intended by the CMake authors.
Closes #1008.
Checklist
[x] The documentation has been updated.
[x] If the PR solves a specific issue, it is set to be closed on merge.
Description
As suggested in #1008, this PR adds the project option
LAPACK_BINARY_PATH_SUFFIX
.It names a subdirectory added to the install location of all LAPACK binaries. It is empty by default.
This allows a consumer, to install the Reference LAPACK binaries into a subdirectory of, e.g.,
/usr/local/lib
without inadvertantly changing the install location of the CMake package scripts, which remain unchanged in/usr/local/lib/cmake
.This can be necessary to avoid conflicts with other BLAS/LAPACK distributions. Previously, this would require the consumer to override
CMAKE_INSTALL_LIBDIR
directly. This shouldn't be done, though, because the variable is provided by the core CMake module GNUInstallDirs and is used in many places. Thus, changing it can have unforeseen consequences. Here, overriding it also changed the install locations of the CMake package scripts and PKGConfig files, which prevents them from being discovered by default by their respective tools.This PR also fixes the CMake install instructions in the LAPACK README. They recommended the use of
CMAKE_INSTALL_LIBDIR
from the command line, which is bad practice (see above). Now, theCMAKE_INSTALL_PREFIX
variable is recommended instead, as intended by the CMake authors.Closes #1008.
Checklist