Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions BLAS/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ add_subdirectory(SRC)
if(BUILD_TESTING)
add_subdirectory(TESTING)
endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in
${CMAKE_CURRENT_BINARY_DIR}/blas${CONF_FILE_SUFFIX}.pc @ONLY)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/blas.pc
${CMAKE_CURRENT_BINARY_DIR}/blas${CONF_FILE_SUFFIX}.pc
DESTINATION ${PKG_CONFIG_DIR}
)
1 change: 1 addition & 0 deletions BLAS/SRC/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -102,5 +102,6 @@ set_target_properties(
blas PROPERTIES
VERSION ${LAPACK_VERSION}
SOVERSION ${LAPACK_MAJOR_VERSION}
OUTPUT_NAME blas${LIBRARY_NAME_SUFFIX}
)
lapack_install_library(blas)
2 changes: 1 addition & 1 deletion BLAS/blas.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ Name: BLAS
Description: FORTRAN reference implementation of BLAS Basic Linear Algebra Subprograms
Version: @LAPACK_VERSION@
URL: http://www.netlib.org/blas/
Libs: -L${libdir} -lblas
Libs: -L${libdir} -lblas@LIBRARY_NAME_SUFFIX@
20 changes: 11 additions & 9 deletions CBLAS/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
message(STATUS "CBLAS enable")
enable_language(C)

set(LAPACK_INSTALL_EXPORT_NAME cblas-targets)
set(LAPACK_INSTALL_EXPORT_NAME cblas${CONF_FILE_SUFFIX}-targets)

# Create a header file cblas.h for the routines called in my C programs
include(FortranCInterface)
Expand Down Expand Up @@ -44,7 +44,7 @@ endif()
# install tree, if any.
set(_cblas_config_install_guard_target "")
if(ALL_TARGETS)
install(EXPORT cblas-targets
install(EXPORT cblas${CONF_FILE_SUFFIX}-targets
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION})
# Choose one of the cblas targets to use as a guard for
# cblas-config.cmake to load targets from the install tree.
Expand All @@ -54,7 +54,7 @@ endif()
# Export cblas targets from the build tree, if any.
set(_cblas_config_build_guard_target "")
if(ALL_TARGETS)
export(TARGETS ${ALL_TARGETS} FILE cblas-targets.cmake)
export(TARGETS ${ALL_TARGETS} FILE cblas${CONF_FILE_SUFFIX}-targets.cmake)

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


configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc @ONLY)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/cblas.pc
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in
${CMAKE_CURRENT_BINARY_DIR}/cblas${CONF_FILE_SUFFIX}.pc @ONLY)

install(FILES
${CMAKE_CURRENT_BINARY_DIR}/cblas${CONF_FILE_SUFFIX}.pc
DESTINATION ${PKG_CONFIG_DIR}
)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-install.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas-config.cmake @ONLY)
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas${CONF_FILE_SUFFIX}-config.cmake @ONLY)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas-config.cmake
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas${CONF_FILE_SUFFIX}-config.cmake
${LAPACK_BINARY_DIR}/cblas-config-version.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION}
)
Expand Down
4 changes: 2 additions & 2 deletions CBLAS/cblas.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ Name: CBLAS
Description: C Standard Interface to BLAS Basic Linear Algebra Subprograms
Version: @LAPACK_VERSION@
URL: http://www.netlib.org/blas/#_cblas
Libs: -L${libdir} -lcblas
Libs: -L${libdir} -lcblas@LIBRARY_NAME_SUFFIX@
Cflags: -I${includedir}
Requires.private: blas
Requires.private: blas@LIBRARY_NAME_SUFFIX@
6 changes: 3 additions & 3 deletions CBLAS/cmake/cblas-config-build.cmake.in
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Load the LAPACK package with which we were built.
set(LAPACK_DIR "@LAPACK_BINARY_DIR@")
find_package(LAPACK NO_MODULE)
find_package(LAPACK@CONF_FILE_SUFFIX@ NO_MODULE)

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

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

# Report cblas libraries.
set(CBLAS_LIBRARIES cblas)
set(CBLAS_LIBRARIES cblas@LIBRARY_NAME_SUFFIX@)
6 changes: 3 additions & 3 deletions CBLAS/cmake/cblas-config-install.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ get_filename_component(_CBLAS_PREFIX "${_CBLAS_PREFIX}" PATH)

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

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

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

# Report lapacke libraries.
set(CBLAS_LIBRARIES cblas)
set(CBLAS_LIBRARIES cblas@LIBRARY_NAME_SUFFIX@)

unset(_CBLAS_PREFIX)
unset(_CBLAS_SELF_DIR)
2 changes: 2 additions & 0 deletions CBLAS/include/cblas.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@ extern "C" { /* Assume C declarations for C++ */
/*
* Enumerated and derived types
*/
#ifndef CBLAS_INDEX
#ifdef WeirdNEC
#define CBLAS_INDEX long
#else
#define CBLAS_INDEX int
#endif
#endif

typedef enum {CblasRowMajor=101, CblasColMajor=102} CBLAS_LAYOUT;
typedef enum {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113} CBLAS_TRANSPOSE;
Expand Down
2 changes: 1 addition & 1 deletion CBLAS/include/cblas_f77.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#define F77_STRLEN(a) (_fcdlen)
#endif

#ifdef WeirdNEC
#if defined(WeirdNEC) && !defined(F77_INT)
#define F77_INT long
#endif

Expand Down
1 change: 1 addition & 0 deletions CBLAS/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ set_target_properties(
LINKER_LANGUAGE C
VERSION ${LAPACK_VERSION}
SOVERSION ${LAPACK_MAJOR_VERSION}
OUTPUT_NAME cblas${LIBRARY_NAME_SUFFIX}
)
target_include_directories(cblas PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
Expand Down
6 changes: 3 additions & 3 deletions CMAKE/lapack-config-build.cmake.in
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Load lapack targets from the build tree if necessary.
set(_LAPACK_TARGET "@_lapack_config_build_guard_target@")
if(_LAPACK_TARGET AND NOT TARGET "${_LAPACK_TARGET}")
include("@LAPACK_BINARY_DIR@/lapack-targets.cmake")
include("@LAPACK_BINARY_DIR@/lapack@CONF_FILE_SUFFIX@-targets.cmake")
endif()
unset(_LAPACK_TARGET)

# Report the blas and lapack raw or imported libraries.
set(LAPACK_blas_LIBRARIES "@BLAS_LIBRARIES@")
set(LAPACK_lapack_LIBRARIES "@LAPACK_LIBRARIES@")
set(LAPACK_blas_LIBRARIES "@BLAS_LIBRARIES@@LIBRARY_NAME_SUFFIX@")
set(LAPACK_lapack_LIBRARIES "@LAPACK_LIBRARIES@@LIBRARY_NAME_SUFFIX@")
6 changes: 3 additions & 3 deletions CMAKE/lapack-config-install.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ get_filename_component(_LAPACK_SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
# Load lapack targets from the install tree if necessary.
set(_LAPACK_TARGET "@_lapack_config_install_guard_target@")
if(_LAPACK_TARGET AND NOT TARGET "${_LAPACK_TARGET}")
include("${_LAPACK_SELF_DIR}/lapack-targets.cmake")
include("${_LAPACK_SELF_DIR}/lapack@CONF_FILE_SUFFIX@-targets.cmake")
endif()
unset(_LAPACK_TARGET)

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

unset(_LAPACK_SELF_DIR)
36 changes: 25 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,20 @@ else()
message(STATUS "No suitable Python version found, so skipping summary tests.")
endif()
# --------------------------------------------------
# Can be defined during CMake-configure step.
if(NOT LIBRARY_NAME_SUFFIX)
set(LIBRARY_NAME_SUFFIX "")
endif()
if(NOT CONF_FILE_SUFFIX)
set(CONF_FILE_SUFFIX "")
endif()
if(LIBRARY_NAME_SUFFIX AND NOT CONF_FILE_SUFFIX)
set(CONF_FILE_SUFFIX ${LIBRARY_NAME_SUFFIX})
endif()

set(LAPACK_INSTALL_EXPORT_NAME lapack-targets)
# --------------------------------------------------

set(LAPACK_INSTALL_EXPORT_NAME lapack${CONF_FILE_SUFFIX}-targets)

macro(lapack_install_library lib)
install(TARGETS ${lib}
Expand Down Expand Up @@ -217,7 +229,6 @@ else()
CACHE STRING "Linker flags for shared libs" FORCE)
endif()


# --------------------------------------------------
# CBLAS
option(CBLAS "Build CBLAS" OFF)
Expand Down Expand Up @@ -327,7 +338,6 @@ else()
endif()
include(CPack)


# --------------------------------------------------

if(NOT BLAS_FOUND)
Expand All @@ -346,7 +356,7 @@ endif()
# install tree, if any.
set(_lapack_config_install_guard_target "")
if(ALL_TARGETS)
install(EXPORT lapack-targets
install(EXPORT lapack${CONF_FILE_SUFFIX}-targets
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapack-${LAPACK_VERSION})

# Choose one of the lapack targets to use as a guard for
Expand All @@ -367,25 +377,29 @@ endif()
# Export lapack and lapacke targets from the build tree, if any.
set(_lapack_config_build_guard_target "")
if(ALL_TARGETS)
export(TARGETS ${ALL_TARGETS} FILE lapack-targets.cmake)
export(TARGETS ${ALL_TARGETS} FILE lapack${CONF_FILE_SUFFIX}-targets.cmake)

# Choose one of the lapack or lapacke targets to use as a guard
# for lapack-config.cmake to load targets from the build tree.
list(GET ALL_TARGETS 0 _lapack_config_build_guard_target)
endif()

# --------------------------------------------------

configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-build.cmake.in
${LAPACK_BINARY_DIR}/lapack-config.cmake @ONLY)
${LAPACK_BINARY_DIR}/lapack${CONF_FILE_SUFFIX}-config.cmake @ONLY)


configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc @ONLY)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/lapack.pc
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in
${CMAKE_CURRENT_BINARY_DIR}/lapack${CONF_FILE_SUFFIX}.pc @ONLY)

install(FILES
${CMAKE_CURRENT_BINARY_DIR}/lapack${CONF_FILE_SUFFIX}.pc
DESTINATION ${PKG_CONFIG_DIR}
)

configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-install.cmake.in
${LAPACK_BINARY_DIR}/CMakeFiles/lapack-config.cmake @ONLY)
${LAPACK_BINARY_DIR}/CMakeFiles/lapack${CONF_FILE_SUFFIX}-config.cmake @ONLY)

include(CMakePackageConfigHelpers)
write_basic_package_version_file(
Expand All @@ -395,7 +409,7 @@ write_basic_package_version_file(
)

install(FILES
${LAPACK_BINARY_DIR}/CMakeFiles/lapack-config.cmake
${LAPACK_BINARY_DIR}/CMakeFiles/lapack${CONF_FILE_SUFFIX}-config.cmake
${LAPACK_BINARY_DIR}/lapack-config-version.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapack-${LAPACK_VERSION}
)
16 changes: 9 additions & 7 deletions LAPACKE/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
message(STATUS "LAPACKE enable")
enable_language(C)

set(LAPACK_INSTALL_EXPORT_NAME lapacke-targets)
set(LAPACK_INSTALL_EXPORT_NAME lapacke${CONF_FILE_SUFFIX}-targets)

# Create a header file lapacke_mangling.h for the routines called in my C programs
include(FortranCInterface)
Expand Down Expand Up @@ -59,6 +59,7 @@ set_target_properties(
LINKER_LANGUAGE C
VERSION ${LAPACK_VERSION}
SOVERSION ${LAPACK_MAJOR_VERSION}
OUTPUT_NAME lapacke${LIBRARY_NAME_SUFFIX}
)
target_include_directories(lapacke PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
Expand All @@ -78,24 +79,25 @@ if(BUILD_TESTING)
endif()


configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in
${CMAKE_CURRENT_BINARY_DIR}/lapacke${CONF_FILE_SUFFIX}.pc @ONLY)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc
${CMAKE_CURRENT_BINARY_DIR}/lapacke${CONF_FILE_SUFFIX}.pc
DESTINATION ${PKG_CONFIG_DIR}
)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/lapacke-config-version.cmake.in
${LAPACK_BINARY_DIR}/lapacke-config-version.cmake @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/lapacke-config-build.cmake.in
${LAPACK_BINARY_DIR}/lapacke-config.cmake @ONLY)
${LAPACK_BINARY_DIR}/lapacke${CONF_FILE_SUFFIX}-config.cmake @ONLY)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/lapacke-config-install.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/lapacke-config.cmake @ONLY)
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/lapacke${CONF_FILE_SUFFIX}-config.cmake @ONLY)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/lapacke-config.cmake
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/lapacke${CONF_FILE_SUFFIX}-config.cmake
${LAPACK_BINARY_DIR}/lapacke-config-version.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION}
)

install(EXPORT lapacke-targets
install(EXPORT lapacke${CONF_FILE_SUFFIX}-targets
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION})
4 changes: 2 additions & 2 deletions LAPACKE/cmake/lapacke-config-build.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ find_package(LAPACK NO_MODULE)

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

# Report lapacke header search locations from build tree.
set(LAPACKE_INCLUDE_DIRS "@LAPACK_BINARY_DIR@/include")

# Report lapacke libraries.
set(LAPACKE_LIBRARIES lapacke)
set(LAPACKE_LIBRARIES lapacke@LIBRARY_NAME_SUFFIX@)
6 changes: 3 additions & 3 deletions LAPACKE/cmake/lapacke-config-install.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ get_filename_component(_LAPACKE_PREFIX "${_LAPACKE_PREFIX}" PATH)

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

# Load lapacke targets from the install tree.
if(NOT TARGET lapacke)
include(${_LAPACKE_SELF_DIR}/lapacke-targets.cmake)
include(${_LAPACKE_SELF_DIR}/lapacke@CONF_FILE_SUFFIX@-targets.cmake)
endif()

# Report lapacke header search locations.
set(LAPACKE_INCLUDE_DIRS ${_LAPACKE_PREFIX}/include)

# Report lapacke libraries.
set(LAPACKE_LIBRARIES lapacke)
set(LAPACKE_LIBRARIES lapacke@LIBRARY_NAME_SUFFIX@)

unset(_LAPACKE_PREFIX)
unset(_LAPACKE_SELF_DIR)
1 change: 0 additions & 1 deletion LAPACKE/cmake/lapacke-config-version.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,3 @@ if(NOT ${PACKAGE_FIND_VERSION} VERSION_GREATER ${PACKAGE_VERSION})
set(PACKAGE_VERSION_EXACT 1)
endif()
endif()

4 changes: 2 additions & 2 deletions LAPACKE/lapacke.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ Name: LAPACKE
Description: C Standard Interface to LAPACK Linear Algebra PACKage
Version: @LAPACK_VERSION@
URL: http://www.netlib.org/lapack/#_standard_c_language_apis_for_lapack
Libs: -L${libdir} -llapacke
Libs: -L${libdir} -llapacke@LIBRARY_NAME_SUFFIX@
Cflags: -I${includedir}
Requires.private: lapack
Requires.private: lapack@LIBRARY_NAME_SUFFIX@
1 change: 1 addition & 0 deletions SRC/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -497,6 +497,7 @@ set_target_properties(
lapack PROPERTIES
VERSION ${LAPACK_VERSION}
SOVERSION ${LAPACK_MAJOR_VERSION}
OUTPUT_NAME lapack${LIBRARY_NAME_SUFFIX}
)

if(USE_XBLAS)
Expand Down
Loading