diff options
Diffstat (limited to 'academic/lapacke/patches/cmake-piecewise.diff')
-rw-r--r-- | academic/lapacke/patches/cmake-piecewise.diff | 615 |
1 files changed, 615 insertions, 0 deletions
diff --git a/academic/lapacke/patches/cmake-piecewise.diff b/academic/lapacke/patches/cmake-piecewise.diff new file mode 100644 index 0000000000..1dc85494a7 --- /dev/null +++ b/academic/lapacke/patches/cmake-piecewise.diff @@ -0,0 +1,615 @@ +diff --git a/CBLAS/CMakeLists.txt b/CBLAS/CMakeLists.txt +--- a/CBLAS/CMakeLists.txt ++++ b/CBLAS/CMakeLists.txt +@@ -1,8 +1,6 @@ + message(STATUS "CBLAS enable") + enable_language(C) + +-set(LAPACK_INSTALL_EXPORT_NAME cblas-targets) +- + # Create a header file cblas.h for the routines called in my C programs + include(FortranCInterface) + FortranCInterface_HEADER( ${CMAKE_CURRENT_SOURCE_DIR}/include/cblas_mangling.h +@@ -40,51 +38,8 @@ + add_subdirectory(examples) + endif(BUILD_TESTING) + +-if(NOT BLAS_FOUND) +- set(ALL_TARGETS ${ALL_TARGETS} blas) +-endif(NOT BLAS_FOUND) +- +-# Export cblas targets from the +-# install tree, if any. +-set(_cblas_config_install_guard_target "") +-if(ALL_TARGETS) +- install(EXPORT cblas-targets +- DESTINATION lib/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. +- list(GET ALL_TARGETS 0 _cblas_config_install_guard_target) +-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) +- +- # Choose one of the cblas targets to use as a guard +- # for cblas-config.cmake to load targets from the build tree. +- list(GET ALL_TARGETS 0 _cblas_config_build_guard_target) +-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) +- +- + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc @ONLY) + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/cblas.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) +-install(FILES +- ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas-config.cmake +- ${LAPACK_BINARY_DIR}/cblas-config-version.cmake +- DESTINATION lib/cmake/cblas-${LAPACK_VERSION} +- ) +- +-#install(EXPORT cblas-targets +-# DESTINATION lib/cmake/cblas-${LAPACK_VERSION}) +- +diff --git a/CBLAS/cmake/cblas-config-build.cmake.in b/CBLAS/cmake/cblas-config-build.cmake.in +deleted file mode 100644 +--- a/CBLAS/cmake/cblas-config-build.cmake.in ++++ /dev/null +@@ -1,14 +0,0 @@ +-# Load the LAPACK package with which we were built. +-set(LAPACK_DIR "@LAPACK_BINARY_DIR@") +-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") +-endif() +- +-# Report lapacke header search locations. +-set(CBLAS_INCLUDE_DIRS "@LAPACK_SOURCE_DIR@/cblas/include") +- +-# Report lapacke libraries. +-set(CBLAS_LIBRARIES cblas) +diff --git a/CBLAS/cmake/cblas-config-install.cmake.in b/CBLAS/cmake/cblas-config-install.cmake.in +deleted file mode 100644 +--- a/CBLAS/cmake/cblas-config-install.cmake.in ++++ /dev/null +@@ -1,23 +0,0 @@ +-# Compute locations from <prefix>/lib/cmake/lapacke-<v>/<self>.cmake +-get_filename_component(_CBLAS_SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-get_filename_component(_CBLAS_PREFIX "${_CBLAS_SELF_DIR}" PATH) +-get_filename_component(_CBLAS_PREFIX "${_CBLAS_PREFIX}" PATH) +-get_filename_component(_CBLAS_PREFIX "${_CBLAS_PREFIX}" PATH) +- +-# Load the LAPACK package with which we were built. +-set(LAPACK_DIR "${_CBLAS_PREFIX}/lib/cmake/lapack-@LAPACK_VERSION@") +-find_package(LAPACK NO_MODULE) +- +-# Load lapacke targets from the install tree. +-if(NOT TARGET cblas) +- include(${_CBLAS_SELF_DIR}/cblas-targets.cmake) +-endif() +- +-# Report lapacke header search locations. +-set(CBLAS_INCLUDE_DIRS ${_CBLAS_PREFIX}/include) +- +-# Report lapacke libraries. +-set(CBLAS_LIBRARIES cblas) +- +-unset(_CBLAS_PREFIX) +-unset(_CBLAS_SELF_DIR) +diff --git a/CBLAS/cmake/cblas-config-version.cmake.in b/CBLAS/cmake/cblas-config-version.cmake.in +deleted file mode 100644 +--- a/CBLAS/cmake/cblas-config-version.cmake.in ++++ /dev/null +@@ -1,8 +0,0 @@ +-set(PACKAGE_VERSION "@LAPACK_VERSION@") +-if(NOT ${PACKAGE_FIND_VERSION} VERSION_GREATER ${PACKAGE_VERSION}) +- set(PACKAGE_VERSION_COMPATIBLE 1) +- if(${PACKAGE_FIND_VERSION} VERSION_EQUAL ${PACKAGE_VERSION}) +- set(PACKAGE_VERSION_EXACT 1) +- endif() +-endif() +- +diff --git a/CMAKE/lapack-config-build.cmake.in b/CMAKE/lapack-config-build.cmake.in +deleted file mode 100644 +--- a/CMAKE/lapack-config-build.cmake.in ++++ /dev/null +@@ -1,10 +0,0 @@ +-# 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") +-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@") +diff --git a/CMAKE/lapack-config-install.cmake.in b/CMAKE/lapack-config-install.cmake.in +deleted file mode 100644 +--- a/CMAKE/lapack-config-install.cmake.in ++++ /dev/null +@@ -1,15 +0,0 @@ +-# Compute locations from <prefix>/lib/cmake/lapack-<v>/<self>.cmake +-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") +-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@") +- +-unset(_LAPACK_SELF_DIR) +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -81,8 +81,6 @@ + endif() + # -------------------------------------------------- + +-set(LAPACK_INSTALL_EXPORT_NAME lapack-targets) +- + if (UNIX) + include(GNUInstallDirs) + set(ARCHIVE_DIR ${CMAKE_INSTALL_LIBDIR}) +@@ -96,7 +94,6 @@ + + macro(lapack_install_library lib) + install(TARGETS ${lib} +- EXPORT ${LAPACK_INSTALL_EXPORT_NAME} + ARCHIVE DESTINATION ${ARCHIVE_DIR} + LIBRARY DESTINATION ${LIBRARY_DIR} + RUNTIME DESTINATION ${RUNTIME_DIR} +@@ -122,20 +119,6 @@ + include( CheckLAPACKCompilerFlags ) + CheckLAPACKCompilerFlags() + +-# -------------------------------------------------- +-# Check second function +- +-include(CheckTimeFunction) +-set(TIME_FUNC NONE ${TIME_FUNC}) +-CHECK_TIME_FUNCTION(NONE TIME_FUNC) +-CHECK_TIME_FUNCTION(INT_CPU_TIME TIME_FUNC) +-CHECK_TIME_FUNCTION(EXT_ETIME TIME_FUNC) +-CHECK_TIME_FUNCTION(EXT_ETIME_ TIME_FUNC) +-CHECK_TIME_FUNCTION(INT_ETIME TIME_FUNC) +-message(STATUS "--> Will use second_${TIME_FUNC}.f and dsecnd_${TIME_FUNC}.f as timing function.") +- +-set(SECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/second_${TIME_FUNC}.f) +-set(DSECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_${TIME_FUNC}.f) + set(PKG_CONFIG_DIR ${LIBRARY_DIR}/pkgconfig) + + set(prefix ${CMAKE_INSTALL_PREFIX}) +@@ -146,6 +129,11 @@ + endif() + + # -------------------------------------------------- ++# By default static library ++option(BUILD_SHARED_LIBS "Build shared libraries" OFF) ++option(BUILD_STATIC_LIBS "Build static libraries" ON) ++ ++# -------------------------------------------------- + # Precision to build + # By default all precisions are generated + option(BUILD_SINGLE "Build Single Precision" ON) +@@ -176,236 +164,134 @@ + Please enable at least one of these: BUILD_SINGLE, BUILD_DOUBLE, BUILD_COMPLEX, BUILD_COMPLEX16.") + endif() + +-# -------------------------------------------------- +-# Subdirectories that need to be processed ++# deprecated LAPACK routines ++option(BUILD_DEPRECATED "Build deprecated routines" OFF) + ++# -------------------------------------------------- ++# BLAS + option(USE_OPTIMIZED_BLAS "Whether or not to use an optimized BLAS library instead of included netlib BLAS" OFF) +- ++option(BUILD_BLAS "Build BLAS" OFF) + + # Check the usage of the user provided BLAS libraries + if(BLAS_LIBRARIES) + include(CheckFortranFunctionExists) + set(CMAKE_REQUIRED_LIBRARIES ${BLAS_LIBRARIES}) + CHECK_FORTRAN_FUNCTION_EXISTS("dgemm" BLAS_FOUND) +- unset( CMAKE_REQUIRED_LIBRARIES ) ++ unset(CMAKE_REQUIRED_LIBRARIES) + if(BLAS_FOUND) + message(STATUS "--> BLAS supplied by user is WORKING, will use ${BLAS_LIBRARIES}.") +- else(BLAS_FOUND) +- message(ERROR "--> BLAS supplied by user is not WORKING, CANNOT USE ${BLAS_LIBRARIES}.") +- message(ERROR "--> Will use REFERENCE BLAS (by default)") +- message(ERROR "--> Or Correct your BLAS_LIBRARIES entry ") +- message(ERROR "--> Or Consider checking USE_OPTIMIZED_BLAS") +- endif(BLAS_FOUND) ++ else() ++ message(SEND_ERROR "--> BLAS supplied by user is NOT WORKING, cannot use ${BLAS_LIBRARIES}.") ++ endif() + + # User did not provide a BLAS Library but specified to search for one +-elseif( USE_OPTIMIZED_BLAS ) +- find_package( BLAS ) +-endif (BLAS_LIBRARIES) ++elseif(USE_OPTIMIZED_BLAS) ++ find_package(BLAS) + +-# Neither user specified or optimized BLAS libraries can be used +-if(NOT BLAS_FOUND) +- message(STATUS "Using supplied NETLIB BLAS implementation") +- add_subdirectory(BLAS) +- set( BLAS_LIBRARIES blas ) +-else() +- set( CMAKE_EXE_LINKER_FLAGS +- "${CMAKE_EXE_LINKER_FLAGS} ${BLAS_LINKER_FLAGS}" +- CACHE STRING "Linker flags for executables" FORCE) +- set( CMAKE_MODULE_LINKER_FLAGS +- "${CMAKE_MODULE_LINKER_FLAGS} ${BLAS_LINKER_FLAGS}" +- CACHE STRING "Linker flags for modules" FORCE) +- set( CMAKE_SHARED_LINKER_FLAGS +- "${CMAKE_SHARED_LINKER_FLAGS} ${BLAS_LINKER_FLAGS}" +- CACHE STRING "Linker flags for shared libs" FORCE) +-endif( NOT BLAS_FOUND ) ++elseif(BUILD_BLAS) ++ set(BLAS_LIBRARIES blas) ++ set(BLAS_FOUND TRUE) + ++ add_subdirectory(BLAS) ++endif() + + # -------------------------------------------------- + # CBLAS +-option(CBLAS "Build CBLAS" OFF) ++option(BUILD_CBLAS "Build CBLAS" OFF) + +-if(CBLAS) ++if(BUILD_CBLAS) ++ set(NEED_BLAS TRUE) + add_subdirectory(CBLAS) +-endif(CBLAS) ++endif(BUILD_CBLAS) + + # -------------------------------------------------- + # XBLAS +- + option(USE_XBLAS "Build extended precision (needs XBLAS)" OFF) +-if (USE_XBLAS) ++ ++if(USE_XBLAS) + find_library(XBLAS_LIBRARY NAMES xblas) + endif(USE_XBLAS) +- +-option(USE_OPTIMIZED_LAPACK "Whether or not to use an optimized LAPACK library instead of included netlib LAPACK" OFF) + + # -------------------------------------------------- + # LAPACK +-# User did not provide a LAPACK Library but specified to search for one +-if( USE_OPTIMIZED_LAPACK ) +- find_package( LAPACK ) +-endif (USE_OPTIMIZED_LAPACK) ++option(USE_OPTIMIZED_LAPACK "Whether or not to use an optimized LAPACK library instead of included netlib LAPACK" OFF) ++option(BUILD_LAPACK "Build LAPACK" OFF) + + # Check the usage of the user provided or automatically found LAPACK libraries + if(LAPACK_LIBRARIES) + include(CheckFortranFunctionExists) + set(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES}) + # Check if new routine of 3.4.0 is in LAPACK_LIBRARIES +- CHECK_FORTRAN_FUNCTION_EXISTS("dgeqrt" LATESTLAPACK_FOUND) +- unset( CMAKE_REQUIRED_LIBRARIES ) +- if(LATESTLAPACK_FOUND) ++ CHECK_FORTRAN_FUNCTION_EXISTS("dgeqrt" LAPACK_FOUND) ++ unset(CMAKE_REQUIRED_LIBRARIES) ++ if(LAPACK_FOUND) + message(STATUS "--> LAPACK supplied by user is WORKING, will use ${LAPACK_LIBRARIES}.") +- else(LAPACK_FOUND) +- message(ERROR "--> LAPACK supplied by user is not WORKING or is older than LAPACK 3.4.0, CANNOT USE ${LAPACK_LIBRARIES}.") +- message(ERROR "--> Will use REFERENCE LAPACK (by default)") +- message(ERROR "--> Or Correct your LAPACK_LIBRARIES entry ") +- message(ERROR "--> Or Consider checking USE_OPTIMIZED_LAPACK") +- endif(LATESTLAPACK_FOUND) +-endif (LAPACK_LIBRARIES) ++ else() ++ message(SEND_ERROR "--> LAPACK supplied by user is NOT WORKING or is older than LAPACK 3.4.0, cannot use ${LAPACK_LIBRARIES}.") ++ endif() ++ ++# User did not provide a LAPACK Library but specified to search for one ++elseif(USE_OPTIMIZED_LAPACK) ++ find_package(LAPACK) ++ ++elseif(BUILD_LAPACK) ++ set(LAPACK_LIBRARIES lapack) ++ set(LAPACK_FOUND TRUE) ++ ++ set(NEED_BLAS TRUE) ++ ++ # Check second function ++ include(CheckTimeFunction) ++ set(TIME_FUNC NONE ${TIME_FUNC}) ++ CHECK_TIME_FUNCTION(NONE TIME_FUNC) ++ CHECK_TIME_FUNCTION(INT_CPU_TIME TIME_FUNC) ++ CHECK_TIME_FUNCTION(EXT_ETIME TIME_FUNC) ++ CHECK_TIME_FUNCTION(EXT_ETIME_ TIME_FUNC) ++ CHECK_TIME_FUNCTION(INT_ETIME TIME_FUNC) ++ message(STATUS "--> Will use second_${TIME_FUNC}.f and dsecnd_${TIME_FUNC}.f as timing function.") ++ ++ set(SECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/second_${TIME_FUNC}.f) ++ set(DSECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_${TIME_FUNC}.f) + +-# Neither user specified or optimized LAPACK libraries can be used +-if(NOT LATESTLAPACK_FOUND) +- message(STATUS "Using supplied NETLIB LAPACK implementation") +- set( LAPACK_LIBRARIES lapack ) + add_subdirectory(SRC) +-else() +- set( CMAKE_EXE_LINKER_FLAGS +- "${CMAKE_EXE_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" +- CACHE STRING "Linker flags for executables" FORCE) +- set( CMAKE_MODULE_LINKER_FLAGS +- "${CMAKE_MODULE_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" +- CACHE STRING "Linker flags for modules" FORCE) +- set( CMAKE_SHARED_LINKER_FLAGS +- "${CMAKE_SHARED_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" +- CACHE STRING "Linker flags for shared libs" FORCE) +-endif( NOT LATESTLAPACK_FOUND ) +- +-message(STATUS "BUILD TESTING : ${BUILD_TESTING}" ) +-if(BUILD_TESTING) +- add_subdirectory(TESTING) +-endif(BUILD_TESTING) + +-# deprecated LAPACK routines +-option(BUILD_DEPRECATED "Build deprecated routines" OFF) ++ message(STATUS "BUILD TESTING : ${BUILD_TESTING}") ++ if(BUILD_TESTING) ++ add_subdirectory(TESTING) ++ endif() ++ ++ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc @ONLY) ++ install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc ++ DESTINATION ${PKG_CONFIG_DIR}) ++endif() + + # -------------------------------------------------- + # LAPACKE +-option(LAPACKE "Build LAPACKE" OFF) ++option(BUILD_LAPACKE "Build LAPACKE" OFF) + + # LAPACKE has also the interface to some routines from tmglib, + # if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE + option(LAPACKE_WITH_TMG "Build LAPACKE with tmglib routines" OFF) + if (LAPACKE_WITH_TMG) +- set(LAPACKE ON) ++ set(BUILD_LAPACKE ON) + if(NOT BUILD_TESTING) + add_subdirectory(TESTING/MATGEN) + endif(NOT BUILD_TESTING) + endif(LAPACKE_WITH_TMG) + +-if(LAPACKE) ++if(BUILD_LAPACKE) ++ set(NEED_LAPACK TRUE) + add_subdirectory(LAPACKE) +-endif(LAPACKE) +- +-# -------------------------------------------------- +-# CPACK Packaging +- +-SET(CPACK_PACKAGE_NAME "LAPACK") +-SET(CPACK_PACKAGE_VENDOR "University of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd") +-SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "LAPACK- Linear Algebra Package") +-set(CPACK_PACKAGE_VERSION_MAJOR 3) +-set(CPACK_PACKAGE_VERSION_MINOR 5) +-set(CPACK_PACKAGE_VERSION_PATCH 0) +-set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +-SET(CPACK_PACKAGE_INSTALL_DIRECTORY "LAPACK") +-IF(WIN32 AND NOT UNIX) +- # There is a bug in NSI that does not handle full unix paths properly. Make +- # sure there is at least one set of four (4) backlasshes. +- SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\http://icl.cs.utk.edu/lapack-forum") +- SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.netlib.org/lapack") +- SET(CPACK_NSIS_CONTACT "lapack@eecs.utk.edu") +- SET(CPACK_NSIS_MODIFY_PATH ON) +- SET(CPACK_NSIS_DISPLAY_NAME "LAPACK-${LAPACK_VERSION}") +- set(CPACK_PACKAGE_RELOCATABLE "true") +-ELSE(WIN32 AND NOT UNIX) +- SET(CPACK_GENERATOR "TGZ") +- SET(CPACK_SOURCE_GENERATOR TGZ) +- SET(CPACK_SOURCE_PACKAGE_FILE_NAME "lapack-${LAPACK_VERSION}" ) +- SET(CPACK_SOURCE_IGNORE_FILES ~$ .svn ${CPACK_SOURCE_IGNORE_FILES} ) +-ENDIF(WIN32 AND NOT UNIX) +-INCLUDE(CPack) ++endif(BUILD_LAPACKE) + + +-# -------------------------------------------------- +-# By default static library +-OPTION(BUILD_SHARED_LIBS "Build shared libraries" OFF ) +-OPTION(BUILD_STATIC_LIBS "Build static libraries" ON ) +-#OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON ) +- +-if(NOT BLAS_FOUND) +- set(ALL_TARGETS ${ALL_TARGETS} blas) +-endif(NOT BLAS_FOUND) +- +-if(NOT LATESTLAPACK_FOUND) +- set(ALL_TARGETS ${ALL_TARGETS} lapack) +-endif(NOT LATESTLAPACK_FOUND) +- +-if(BUILD_TESTING OR LAPACKE_WITH_TMG) +- set(ALL_TARGETS ${ALL_TARGETS} tmglib) +-endif(BUILD_TESTING OR LAPACKE_WITH_TMG) +- +-# Export lapack targets, not including lapacke, from the +-# install tree, if any. +-set(_lapack_config_install_guard_target "") +-if(ALL_TARGETS) +- install(EXPORT lapack-targets +- DESTINATION ${LIBRARY_DIR}/cmake/lapack-${LAPACK_VERSION}) +- +- # Choose one of the lapack targets to use as a guard for +- # lapack-config.cmake to load targets from the install tree. +- list(GET ALL_TARGETS 0 _lapack_config_install_guard_target) ++# Neither user specified or optimized BLAS libraries can be used ++if(NEED_BLAS AND NOT BLAS_FOUND) ++ message(FATAL_ERROR "--> No BLAS library found. Specify BLAS_LIBRARIES or enable USE_OPTIMIZED_BLAS or BUILD_BLAS.") + endif() + +-# Include cblas in targets exported from the build tree. +-if(CBLAS) +- set(ALL_TARGETS ${ALL_TARGETS} cblas) +-endif(CBLAS) +- +-# Include lapacke in targets exported from the build tree. +-if(LAPACKE) +- set(ALL_TARGETS ${ALL_TARGETS} lapacke) +-endif(LAPACKE) +- +-# 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) +- +- # 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) ++# Neither user specified or optimized LAPACK libraries can be used ++if(NEED_LAPACK AND NOT LAPACK_FOUND) ++ message(FATAL_ERROR "--> No LAPACK library found. Specify LAPACK_LIBRARIES or enable USE_OPTIMIZED_LAPACK or BUILD_LAPACK.") + endif() +- +-configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-build.cmake.in +- ${LAPACK_BINARY_DIR}/lapack-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 +- DESTINATION ${PKG_CONFIG_DIR} +- ) +- +-configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-install.cmake.in +- ${LAPACK_BINARY_DIR}/CMakeFiles/lapack-config.cmake @ONLY) +- +-include(CMakePackageConfigHelpers) +-write_basic_package_version_file( +- ${LAPACK_BINARY_DIR}/lapack-config-version.cmake +- VERSION ${LAPACK_VERSION} +- COMPATIBILITY SameMajorVersion +- ) +- +-install(FILES +- ${LAPACK_BINARY_DIR}/CMakeFiles/lapack-config.cmake +- ${LAPACK_BINARY_DIR}/lapack-config-version.cmake +- DESTINATION ${LIBRARY_DIR}/cmake/lapack-${LAPACK_VERSION} +- ) +diff --git a/LAPACKE/CMakeLists.txt b/LAPACKE/CMakeLists.txt +--- a/LAPACKE/CMakeLists.txt ++++ b/LAPACKE/CMakeLists.txt +@@ -1,8 +1,6 @@ + message(STATUS "LAPACKE enable") + enable_language(C) + +-set(LAPACK_INSTALL_EXPORT_NAME lapacke-targets) +- + # Create a header file netlib.h for the routines called in my C programs + include(FortranCInterface) + FortranCInterface_HEADER( ${CMAKE_CURRENT_SOURCE_DIR}/include/lapacke_mangling.h +@@ -74,19 +72,3 @@ + ${CMAKE_CURRENT_BINARY_DIR}/lapacke.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) +- +-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/lapacke-config-install.cmake.in +- ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/lapacke-config.cmake @ONLY) +-install(FILES +- ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/lapacke-config.cmake +- ${LAPACK_BINARY_DIR}/lapacke-config-version.cmake +- DESTINATION ${LIBRARY_DIR}/cmake/lapacke-${LAPACK_VERSION} +- ) +- +-install(EXPORT lapacke-targets +- DESTINATION lib/cmake/lapacke-${LAPACK_VERSION}) +diff --git a/LAPACKE/cmake/lapacke-config-build.cmake.in b/LAPACKE/cmake/lapacke-config-build.cmake.in +deleted file mode 100644 +--- a/LAPACKE/cmake/lapacke-config-build.cmake.in ++++ /dev/null +@@ -1,14 +0,0 @@ +-# Load the LAPACK package with which we were built. +-set(LAPACK_DIR "@LAPACK_BINARY_DIR@") +-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") +-endif() +- +-# Report lapacke header search locations. +-set(LAPACKE_INCLUDE_DIRS "@LAPACK_SOURCE_DIR@/lapacke/include") +- +-# Report lapacke libraries. +-set(LAPACKE_LIBRARIES lapacke) +diff --git a/LAPACKE/cmake/lapacke-config-install.cmake.in b/LAPACKE/cmake/lapacke-config-install.cmake.in +deleted file mode 100644 +--- a/LAPACKE/cmake/lapacke-config-install.cmake.in ++++ /dev/null +@@ -1,23 +0,0 @@ +-# Compute locations from <prefix>/lib/cmake/lapacke-<v>/<self>.cmake +-get_filename_component(_LAPACKE_SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-get_filename_component(_LAPACKE_PREFIX "${_LAPACKE_SELF_DIR}" PATH) +-get_filename_component(_LAPACKE_PREFIX "${_LAPACKE_PREFIX}" PATH) +-get_filename_component(_LAPACKE_PREFIX "${_LAPACKE_PREFIX}" PATH) +- +-# Load the LAPACK package with which we were built. +-set(LAPACK_DIR "${_LAPACKE_PREFIX}/lib/cmake/lapack-@LAPACK_VERSION@") +-find_package(LAPACK NO_MODULE) +- +-# Load lapacke targets from the install tree. +-if(NOT TARGET lapacke) +- include(${_LAPACKE_SELF_DIR}/lapacke-targets.cmake) +-endif() +- +-# Report lapacke header search locations. +-set(LAPACKE_INCLUDE_DIRS ${_LAPACKE_PREFIX}/include) +- +-# Report lapacke libraries. +-set(LAPACKE_LIBRARIES lapacke) +- +-unset(_LAPACKE_PREFIX) +-unset(_LAPACKE_SELF_DIR) +diff --git a/LAPACKE/cmake/lapacke-config-version.cmake.in b/LAPACKE/cmake/lapacke-config-version.cmake.in +deleted file mode 100644 +--- a/LAPACKE/cmake/lapacke-config-version.cmake.in ++++ /dev/null +@@ -1,8 +0,0 @@ +-set(PACKAGE_VERSION "@LAPACK_VERSION@") +-if(NOT ${PACKAGE_FIND_VERSION} VERSION_GREATER ${PACKAGE_VERSION}) +- set(PACKAGE_VERSION_COMPATIBLE 1) +- if(${PACKAGE_FIND_VERSION} VERSION_EQUAL ${PACKAGE_VERSION}) +- set(PACKAGE_VERSION_EXACT 1) +- endif() +-endif() +- |