Skip to content

Commit aee39ba

Browse files
committed
CMake: Add an option to specify a name suffix for built libs and config files
1 parent 52c66e0 commit aee39ba

18 files changed

+75
-54
lines changed

BLAS/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ add_subdirectory(SRC)
22
if(BUILD_TESTING)
33
add_subdirectory(TESTING)
44
endif()
5-
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc @ONLY)
5+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in
6+
${CMAKE_CURRENT_BINARY_DIR}/blas${CONF_FILE_SUFFIX}.pc @ONLY)
67
install(FILES
7-
${CMAKE_CURRENT_BINARY_DIR}/blas.pc
8+
${CMAKE_CURRENT_BINARY_DIR}/blas${CONF_FILE_SUFFIX}.pc
89
DESTINATION ${PKG_CONFIG_DIR}
910
)

BLAS/SRC/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,5 +102,6 @@ set_target_properties(
102102
blas PROPERTIES
103103
VERSION ${LAPACK_VERSION}
104104
SOVERSION ${LAPACK_MAJOR_VERSION}
105+
OUTPUT_NAME blas${LIBRARY_NAME_SUFFIX}
105106
)
106107
lapack_install_library(blas)

BLAS/blas.pc.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ Name: BLAS
55
Description: FORTRAN reference implementation of BLAS Basic Linear Algebra Subprograms
66
Version: @LAPACK_VERSION@
77
URL: http://www.netlib.org/blas/
8-
Libs: -L${libdir} -lblas
8+
Libs: -L${libdir} -lblas@LIBRARY_NAME_SUFFIX@

CBLAS/CMakeLists.txt

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
message(STATUS "CBLAS enable")
22
enable_language(C)
33

4-
set(LAPACK_INSTALL_EXPORT_NAME cblas-targets)
4+
set(LAPACK_INSTALL_EXPORT_NAME cblas${CONF_FILE_SUFFIX}-targets)
55

66
# Create a header file cblas.h for the routines called in my C programs
77
include(FortranCInterface)
@@ -44,7 +44,7 @@ endif()
4444
# install tree, if any.
4545
set(_cblas_config_install_guard_target "")
4646
if(ALL_TARGETS)
47-
install(EXPORT cblas-targets
47+
install(EXPORT cblas${CONF_FILE_SUFFIX}-targets
4848
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION})
4949
# Choose one of the cblas targets to use as a guard for
5050
# cblas-config.cmake to load targets from the install tree.
@@ -54,7 +54,7 @@ endif()
5454
# Export cblas targets from the build tree, if any.
5555
set(_cblas_config_build_guard_target "")
5656
if(ALL_TARGETS)
57-
export(TARGETS ${ALL_TARGETS} FILE cblas-targets.cmake)
57+
export(TARGETS ${ALL_TARGETS} FILE cblas${CONF_FILE_SUFFIX}-targets.cmake)
5858

5959
# Choose one of the cblas targets to use as a guard
6060
# for cblas-config.cmake to load targets from the build tree.
@@ -64,19 +64,21 @@ endif()
6464
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-version.cmake.in
6565
${LAPACK_BINARY_DIR}/cblas-config-version.cmake @ONLY)
6666
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-build.cmake.in
67-
${LAPACK_BINARY_DIR}/cblas-config.cmake @ONLY)
67+
${LAPACK_BINARY_DIR}/cblas${CONF_FILE_SUFFIX}-config.cmake @ONLY)
6868

6969

70-
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc @ONLY)
71-
install(FILES
72-
${CMAKE_CURRENT_BINARY_DIR}/cblas.pc
70+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in
71+
${CMAKE_CURRENT_BINARY_DIR}/cblas${CONF_FILE_SUFFIX}.pc @ONLY)
72+
73+
install(FILES
74+
${CMAKE_CURRENT_BINARY_DIR}/cblas${CONF_FILE_SUFFIX}.pc
7375
DESTINATION ${PKG_CONFIG_DIR}
7476
)
7577

7678
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-install.cmake.in
77-
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas-config.cmake @ONLY)
79+
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas${CONF_FILE_SUFFIX}-config.cmake @ONLY)
7880
install(FILES
79-
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas-config.cmake
81+
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas${CONF_FILE_SUFFIX}-config.cmake
8082
${LAPACK_BINARY_DIR}/cblas-config-version.cmake
8183
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION}
8284
)

CBLAS/cblas.pc.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ Name: CBLAS
55
Description: C Standard Interface to BLAS Basic Linear Algebra Subprograms
66
Version: @LAPACK_VERSION@
77
URL: http://www.netlib.org/blas/#_cblas
8-
Libs: -L${libdir} -lcblas
8+
Libs: -L${libdir} -lcblas@LIBRARY_NAME_SUFFIX@
99
Cflags: -I${includedir}
10-
Requires.private: blas
10+
Requires.private: blas@LIBRARY_NAME_SUFFIX@
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Load the LAPACK package with which we were built.
22
set(LAPACK_DIR "@LAPACK_BINARY_DIR@")
3-
find_package(LAPACK NO_MODULE)
3+
find_package(LAPACK@CONF_FILE_SUFFIX@ NO_MODULE)
44

55
# Load lapack targets from the build tree, including lapacke targets.
66
if(NOT TARGET lapacke)
7-
include("@LAPACK_BINARY_DIR@/lapack-targets.cmake")
7+
include("@LAPACK_BINARY_DIR@/lapack@CONF_FILE_SUFFIX@-targets.cmake")
88
endif()
99

1010
# Report cblas header search locations from build tree.
1111
set(CBLAS_INCLUDE_DIRS "@LAPACK_BINARY_DIR@/include")
1212

1313
# Report cblas libraries.
14-
set(CBLAS_LIBRARIES cblas)
14+
set(CBLAS_LIBRARIES cblas@LIBRARY_NAME_SUFFIX@)

CBLAS/cmake/cblas-config-install.cmake.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ get_filename_component(_CBLAS_PREFIX "${_CBLAS_PREFIX}" PATH)
66

77
# Load the LAPACK package with which we were built.
88
set(LAPACK_DIR "${_CBLAS_PREFIX}/@CMAKE_INSTALL_LIBDIR@/cmake/lapack-@LAPACK_VERSION@")
9-
find_package(LAPACK NO_MODULE)
9+
find_package(LAPACK@CONF_FILE_SUFFIX@ NO_MODULE)
1010

1111
# Load lapacke targets from the install tree.
1212
if(NOT TARGET cblas)
13-
include(${_CBLAS_SELF_DIR}/cblas-targets.cmake)
13+
include(${_CBLAS_SELF_DIR}/cblas@CONF_FILE_SUFFIX@-targets.cmake)
1414
endif()
1515

1616
# Report lapacke header search locations.
1717
set(CBLAS_INCLUDE_DIRS ${_CBLAS_PREFIX}/include)
1818

1919
# Report lapacke libraries.
20-
set(CBLAS_LIBRARIES cblas)
20+
set(CBLAS_LIBRARIES cblas@LIBRARY_NAME_SUFFIX@)
2121

2222
unset(_CBLAS_PREFIX)
2323
unset(_CBLAS_SELF_DIR)

CBLAS/src/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ set_target_properties(
119119
LINKER_LANGUAGE C
120120
VERSION ${LAPACK_VERSION}
121121
SOVERSION ${LAPACK_MAJOR_VERSION}
122+
OUTPUT_NAME cblas${LIBRARY_NAME_SUFFIX}
122123
)
123124
target_include_directories(cblas PUBLIC
124125
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>

CMAKE/lapack-config-build.cmake.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Load lapack targets from the build tree if necessary.
22
set(_LAPACK_TARGET "@_lapack_config_build_guard_target@")
33
if(_LAPACK_TARGET AND NOT TARGET "${_LAPACK_TARGET}")
4-
include("@LAPACK_BINARY_DIR@/lapack-targets.cmake")
4+
include("@LAPACK_BINARY_DIR@/lapack@CONF_FILE_SUFFIX@-targets.cmake")
55
endif()
66
unset(_LAPACK_TARGET)
77

88
# Report the blas and lapack raw or imported libraries.
9-
set(LAPACK_blas_LIBRARIES "@BLAS_LIBRARIES@")
10-
set(LAPACK_lapack_LIBRARIES "@LAPACK_LIBRARIES@")
9+
set(LAPACK_blas_LIBRARIES "@BLAS_LIBRARIES@@LIBRARY_NAME_SUFFIX@")
10+
set(LAPACK_lapack_LIBRARIES "@LAPACK_LIBRARIES@@LIBRARY_NAME_SUFFIX@")

CMAKE/lapack-config-install.cmake.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ get_filename_component(_LAPACK_SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
44
# Load lapack targets from the install tree if necessary.
55
set(_LAPACK_TARGET "@_lapack_config_install_guard_target@")
66
if(_LAPACK_TARGET AND NOT TARGET "${_LAPACK_TARGET}")
7-
include("${_LAPACK_SELF_DIR}/lapack-targets.cmake")
7+
include("${_LAPACK_SELF_DIR}/lapack@CONF_FILE_SUFFIX@-targets.cmake")
88
endif()
99
unset(_LAPACK_TARGET)
1010

1111
# Report the blas and lapack raw or imported libraries.
12-
set(LAPACK_blas_LIBRARIES "@BLAS_LIBRARIES@")
13-
set(LAPACK_lapack_LIBRARIES "@LAPACK_LIBRARIES@")
12+
set(LAPACK_blas_LIBRARIES "@BLAS_LIBRARIES@@LIBRARY_NAME_SUFFIX@")
13+
set(LAPACK_lapack_LIBRARIES "@LAPACK_LIBRARIES@@LIBRARY_NAME_SUFFIX@")
1414

1515
unset(_LAPACK_SELF_DIR)

0 commit comments

Comments
 (0)