Reference-LAPACK / lapack

LAPACK development repository
Other
1.49k stars 436 forks source link

#1008 Allow installing binaries to subdirectory while keeping CMake package scripts in the same place #1009

Closed lepus2589 closed 5 months ago

lepus2589 commented 5 months ago

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, the CMAKE_INSTALL_PREFIX variable is recommended instead, as intended by the CMake authors.

Closes #1008.

Checklist