Use the BUILD_* option variables for BLAS and CBLAS
authorKyle Guinn <elyk03@gmail.com>
Fri, 3 Feb 2017 06:56:24 +0000 (00:56 -0600)
committerKyle Guinn <elyk03@gmail.com>
Fri, 3 Feb 2017 06:56:24 +0000 (00:56 -0600)
Removes duplication and allows error checking to be done in one spot.
Moved most of the status printouts to where the options are defined.

BLAS/SRC/CMakeLists.txt
CBLAS/src/CMakeLists.txt
CMakeLists.txt
LAPACKE/CMakeLists.txt
SRC/CMakeLists.txt

index 4293027..c0d5604 100644 (file)
@@ -116,16 +116,16 @@ set(ZBLAS3 zgemm.f zsymm.f zsyrk.f zsyr2k.f ztrmm.f ztrsm.f
 
 
 set(SOURCES)
-if(BLAS_SINGLE)
+if(BUILD_SINGLE)
   list(APPEND SOURCES ${SBLAS1} ${ALLBLAS} ${SBLAS2} ${SBLAS3})
 endif()
-if(BLAS_DOUBLE)
+if(BUILD_DOUBLE)
   list(APPEND SOURCES ${DBLAS1} ${ALLBLAS} ${DBLAS2} ${DBLAS3})
 endif()
-if(BLAS_COMPLEX)
+if(BUILD_COMPLEX)
   list(APPEND SOURCES ${CBLAS1} ${CB1AUX} ${ALLBLAS} ${CBLAS2} ${CBLAS3})
 endif()
-if(BLAS_COMPLEX16)
+if(BUILD_COMPLEX16)
   list(APPEND SOURCES ${ZBLAS1} ${ZB1AUX} ${ALLBLAS} ${ZBLAS2} ${ZBLAS3})
 endif()
 list(REMOVE_DUPLICATES SOURCES)
index 3819183..ec31ee5 100644 (file)
@@ -99,16 +99,16 @@ set(ZLEV3 cblas_zgemm.c cblas_zsymm.c cblas_zhemm.c cblas_zherk.c
 
 
 set(SOURCES)
-if(CBLAS_SINGLE)
+if(BUILD_SINGLE)
   list(APPEND SOURCES ${SLEV1} ${SCLEV1} ${SLEV2} ${SLEV3} ${ERRHAND})
 endif()
-if(CBLAS_DOUBLE)
+if(BUILD_DOUBLE)
   list(APPEND SOURCES ${DLEV1} ${DLEV2} ${DLEV3} ${ERRHAND})
 endif()
-if(CBLAS_COMPLEX)
+if(BUILD_COMPLEX)
   list(APPEND SOURCES ${CLEV1} ${SCLEV1} ${CLEV2} ${CLEV3} ${ERRHAND})
 endif()
-if(CBLAS_COMPLEX16)
+if(BUILD_COMPLEX16)
   list(APPEND SOURCES ${ZLEV1} ${ZLEV2} ${ZLEV3} ${ERRHAND})
 endif()
 list(REMOVE_DUPLICATES SOURCES)
index 745716c..943e3cf 100644 (file)
@@ -153,17 +153,29 @@ set(DSECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_${TIME_FUNC}.f)
 option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
 
 option(BUILD_TESTING "Build tests" OFF)
+message(STATUS "Build tests: ${BUILD_TESTING}")
 
-# deprecated LAPACK routines
+# deprecated LAPACK and LAPACKE routines
 option(BUILD_DEPRECATED "Build deprecated routines" OFF)
+message(STATUS "Build deprecated routines: ${BUILD_DEPRECATED}")
 
 # --------------------------------------------------
 # Precision to build
 # By default all precisions are generated
-option(BUILD_SINGLE "Build LAPACK Single Precision" ON)
-option(BUILD_DOUBLE "Build LAPACK Double Precision" ON)
-option(BUILD_COMPLEX "Build LAPACK Complex Precision" ON)
-option(BUILD_COMPLEX16 "Build LAPACK Double Complex Precision" ON)
+option(BUILD_SINGLE "Build single precision real" ON)
+option(BUILD_DOUBLE "Build double precision real" ON)
+option(BUILD_COMPLEX "Build single precision complex" ON)
+option(BUILD_COMPLEX16 "Build double precision complex" ON)
+message(STATUS "Build single precision real: ${BUILD_SINGLE}")
+message(STATUS "Build double precision real: ${BUILD_DOUBLE}")
+message(STATUS "Build single precision complex: ${BUILD_COMPLEX}")
+message(STATUS "Build double precision complex: ${BUILD_COMPLEX16}")
+
+if(NOT (BUILD_SINGLE OR BUILD_DOUBLE OR BUILD_COMPLEX OR BUILD_COMPLEX16))
+  message(FATAL_ERROR "Nothing to build, no precision selected.
+  Please enable at least one of these:
+  BUILD_SINGLE, BUILD_DOUBLE, BUILD_COMPLEX, BUILD_COMPLEX16.")
+endif()
 
 # --------------------------------------------------
 # Subdirectories that need to be processed
@@ -266,7 +278,6 @@ else()
     CACHE STRING "Linker flags for shared libs" FORCE)
 endif()
 
-message(STATUS "BUILD TESTING : ${BUILD_TESTING}")
 if(BUILD_TESTING)
   add_subdirectory(TESTING)
 endif()
index 02a82f8..3ab093f 100644 (file)
@@ -44,7 +44,6 @@ append_subdir_files(UTILS "utils")
 
 if(BUILD_DEPRECATED)
   list(APPEND SOURCES ${DEPRECATED})
-  message(STATUS "Building LAPACKE deprecated routines")
 endif()
 if(USE_XBLAS)
   list(APPEND SOURCES ${EXTENDED})
index a2b84d7..7d21c0c 100644 (file)
@@ -480,7 +480,6 @@ if(BUILD_DEPRECATED)
   list(APPEND ZLASRC DEPRECATED/zgegs.f DEPRECATED/zgegv.f
     DEPRECATED/zgeqpf.f DEPRECATED/zgelsx.f DEPRECATED/zggsvd.f
     DEPRECATED/zggsvp.f DEPRECATED/zlahrd.f DEPRECATED/zlatzm.f DEPRECATED/ztzrqf.f)
-  message(STATUS "Building LAPACK deprecated routines")
 endif()
 
 if(USE_XBLAS)
@@ -494,27 +493,18 @@ endif()
 set(SOURCES)
 if(BUILD_SINGLE)
   list(APPEND SOURCES ${SLASRC} ${DSLASRC} ${SCLAUX} ${ALLAUX})
-  message(STATUS "Building single precision real")
 endif()
 if(BUILD_DOUBLE)
   list(APPEND SOURCES ${DLASRC} ${DSLASRC} ${DZLAUX} ${ALLAUX})
-  message(STATUS "Building double precision real")
 endif()
 if(BUILD_COMPLEX)
   list(APPEND SOURCES ${CLASRC} ${ZCLASRC} ${SCLAUX} ${ALLAUX})
-  message(STATUS "Building single precision complex")
 endif()
 if(BUILD_COMPLEX16)
   list(APPEND SOURCES ${ZLASRC} ${ZCLASRC} ${DZLAUX} ${ALLAUX})
-  message(STATUS "Building double precision complex")
 endif()
 list(REMOVE_DUPLICATES SOURCES)
 
-if(NOT SOURCES)
-  message(FATAL_ERROR "-->LAPACK SRC BUILD: NOTHING TO BUILD, NO PRECISION SELECTED:
-     PLEASE ENABLE AT LEAST ONE OF THOSE: BUILD_SINGLE, BUILD_COMPLEX, BUILD_DOUBLE, BUILD_COMPLEX16.")
-endif()
-
 add_library(lapack ${SOURCES})
 set_target_properties(
   lapack PROPERTIES