diff --git a/CMakeLists.txt b/CMakeLists.txt index cbc4fb9a1..5c2681141 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -90,11 +90,15 @@ endforeach () # Can't just use lapack-netlib's CMake files, since they are set up to search for BLAS, build and install a binary. We just want to build a couple of lib files out of lapack and lapacke. # Not using add_subdirectory here because lapack-netlib already has its own CMakeLists.txt. Instead include a cmake script with the sources we want. -include("${CMAKE_SOURCE_DIR}/cmake/lapack.cmake") -set_source_files_properties(${LA_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_FFLAGS}") +if (NOT NOFORTRAN) + include("${CMAKE_SOURCE_DIR}/cmake/lapack.cmake") +endif () +if (NOT NO_LAPACKE) + include("${CMAKE_SOURCE_DIR}/cmake/lapacke.cmake") +endif () # add objects to the openblas lib -add_library(openblas ${LA_SOURCES} ${TARGET_OBJS}) +add_library(openblas ${LA_SOURCES} ${LAPACKE_SOURCES} ${TARGET_OBJS}) # TODO: Why is the config saved here? Is this necessary with CMake? #Save the config files for installation diff --git a/cmake/lapack.cmake b/cmake/lapack.cmake index e8d19f10d..3e81611ab 100644 --- a/cmake/lapack.cmake +++ b/cmake/lapack.cmake @@ -344,4 +344,4 @@ set(LA_SOURCES "") foreach (LA_FILE ${LA_REL_SRC}) list(APPEND LA_SOURCES "${NETLIB_LAPACK_DIR}/SRC/${LA_FILE}") endforeach () - +set_source_files_properties(${LA_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_FFLAGS}") diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake index d2bada364..3e2574f77 100644 --- a/cmake/prebuild.cmake +++ b/cmake/prebuild.cmake @@ -51,7 +51,10 @@ else() endif () include("${CMAKE_SOURCE_DIR}/cmake/c_check.cmake") -include("${CMAKE_SOURCE_DIR}/cmake/f_check.cmake") + +if (NOT NOFORTRAN) + include("${CMAKE_SOURCE_DIR}/cmake/f_check.cmake") +endif () # compile getarch set(GETARCH_SRC diff --git a/cmake/system.cmake b/cmake/system.cmake index cc7373e47..36f9b7cbd 100644 --- a/cmake/system.cmake +++ b/cmake/system.cmake @@ -132,8 +132,10 @@ include("${CMAKE_SOURCE_DIR}/cmake/arch.cmake") # C Compiler dependent settings include("${CMAKE_SOURCE_DIR}/cmake/cc.cmake") -# Fortran Compiler dependent settings -include("${CMAKE_SOURCE_DIR}/cmake/fc.cmake") +if (NOT NOFORTRAN) + # Fortran Compiler dependent settings + include("${CMAKE_SOURCE_DIR}/cmake/fc.cmake") +endif () if (BINARY64) if (INTERFACE64) @@ -342,7 +344,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") endforeach () endif () -if (${F_COMPILER} STREQUAL "GFORTRAN") +if ("${F_COMPILER}" STREQUAL "GFORTRAN") # lapack-netlib is rife with uninitialized warnings -hpa set(LAPACK_FFLAGS "${LAPACK_FFLAGS} -Wno-maybe-uninitialized") endif () @@ -356,7 +358,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") set(LAPACK_CFLAGS "${LAPACK_CFLAGS} -DOPENBLAS_OS_WINDOWS") endif () -if (${CMAKE_C_COMPILER} STREQUAL "LSB") +if (${CMAKE_C_COMPILER} STREQUAL "LSB" OR ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") set(LAPACK_CFLAGS "${LAPACK_CFLAGS} -DLAPACK_COMPLEX_STRUCTURE") endif ()