Skip to content

Commit 59fe295

Browse files
authored
Merge pull request #1009 from lepus2589/1008-allow-installing-of-binaries-to-subdirectory-while-keeping-cmake-package-scripts-in-the-same-place
#1008 Allow installing binaries to subdirectory while keeping CMake package scripts in the same place
2 parents c4a1f76 + eedcda6 commit 59fe295

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

CMakeLists.txt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -159,12 +159,18 @@ endif()
159159
# --------------------------------------------------
160160
set(LAPACK_INSTALL_EXPORT_NAME ${LAPACKLIB}-targets)
161161

162+
set(LAPACK_BINARY_PATH_SUFFIX "" CACHE STRING "Path suffix appended to the install path of binaries")
163+
164+
if(NOT "${LAPACK_BINARY_PATH_SUFFIX}" STREQUAL "" AND NOT "${LAPACK_BINARY_PATH_SUFFIX}" MATCHES "^/")
165+
set(LAPACK_BINARY_PATH_SUFFIX "/${LAPACK_BINARY_PATH_SUFFIX}")
166+
endif()
167+
162168
macro(lapack_install_library lib)
163169
install(TARGETS ${lib}
164170
EXPORT ${LAPACK_INSTALL_EXPORT_NAME}
165-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development
166-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries
167-
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT RuntimeLibraries
171+
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LAPACK_BINARY_PATH_SUFFIX}" COMPONENT Development
172+
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LAPACK_BINARY_PATH_SUFFIX}" COMPONENT RuntimeLibraries
173+
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}${LAPACK_BINARY_PATH_SUFFIX}" COMPONENT RuntimeLibraries
168174
)
169175
endmacro()
170176

@@ -557,7 +563,7 @@ install(FILES
557563
if (LAPACK++)
558564
install(
559565
DIRECTORY "${LAPACK_BINARY_DIR}/lib/"
560-
DESTINATION ${CMAKE_INSTALL_LIBDIR}
566+
DESTINATION "${CMAKE_INSTALL_LIBDIR}${LAPACK_BINARY_PATH_SUFFIX}"
561567
FILES_MATCHING REGEX "liblapackpp.(a|so)$"
562568
)
563569
install(
@@ -590,7 +596,7 @@ if (BLAS++)
590596
)
591597
install(
592598
DIRECTORY "${LAPACK_BINARY_DIR}/lib/"
593-
DESTINATION ${CMAKE_INSTALL_LIBDIR}
599+
DESTINATION "${CMAKE_INSTALL_LIBDIR}${LAPACK_BINARY_PATH_SUFFIX}"
594600
FILES_MATCHING REGEX "libblaspp.(a|so)$"
595601
)
596602
install(

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ CBLAS, a C interface to the BLAS, and (5) LAPACKE, a C interface to LAPACK.
7979
```sh
8080
mkdir build
8181
cd build
82-
cmake -DCMAKE_INSTALL_LIBDIR=$HOME/.local/lapack ..
82+
cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local/lapack ..
8383
cmake --build . -j --target install
8484
```
8585
- LAPACK can be built and installed using [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager:

0 commit comments

Comments
 (0)