From 0ccfa60a537b5057d05abcc2b9e57600f0528515 Mon Sep 17 00:00:00 2001 From: Hank Anderson Date: Tue, 3 Feb 2015 15:09:37 -0600 Subject: [PATCH] Changed fortran compiler name to be uppercase and stripped of path/ext. --- cmake/arch.cmake | 4 ++-- cmake/f_check.cmake | 4 ++++ cmake/fc.cmake | 22 +++++++++++----------- cmake/system.cmake | 6 ++---- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/cmake/arch.cmake b/cmake/arch.cmake index 5848c2409..34beb71b3 100644 --- a/cmake/arch.cmake +++ b/cmake/arch.cmake @@ -12,7 +12,7 @@ if (${ARCH} STREQUAL "x86" OR ${ARCH} STREQUAL "x86_64") endif () if (NOT NO_EXPRECISION) - if (${CMAKE_Fortran_COMPILER} MATCHES "gfortran.*") + if (${F_COMPILER} MATCHES "GFORTRAN") # N.B. I'm not sure if CMake differentiates between GCC and LSB -hpa if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB") set(EXPRECISION 1) @@ -86,7 +86,7 @@ if (${ARCH} STREQUAL "ia64") set(NO_BINARY_MODE 1) set(BINARY_DEFINED 1) - if (${CMAKE_Fortran_COMPILER} MATCHES "gfortran.*") + if (${F_COMPILER} MATCHES "GFORTRAN") if (${CMAKE_C_COMPILER} STREQUAL "GNU") # EXPRECISION = 1 # CCOMMON_OPT += -DEXPRECISION diff --git a/cmake/f_check.cmake b/cmake/f_check.cmake index 6c1dbdf18..53552083b 100644 --- a/cmake/f_check.cmake +++ b/cmake/f_check.cmake @@ -48,3 +48,7 @@ else () "#define BUNDERSCORE _\n" "#define NEEDBUNDERSCORE 1\n") endif() + +get_filename_component(F_COMPILER ${CMAKE_Fortran_COMPILER} NAME_WE) +string(TOUPPER ${F_COMPILER} F_COMPILER) + diff --git a/cmake/fc.cmake b/cmake/fc.cmake index 61f0e0187..d7215866c 100644 --- a/cmake/fc.cmake +++ b/cmake/fc.cmake @@ -3,7 +3,7 @@ ## Description: Ported from portion of OpenBLAS/Makefile.system ## Sets Fortran related variables. -if (${CMAKE_Fortran_COMPILER} STREQUAL "G77") +if (${F_COMPILER} STREQUAL "G77") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_G77") set(FCOMMON_OPT "${FCOMMON_OPT} -Wall") if (NOT NO_BINARY_MODE) @@ -15,7 +15,7 @@ if (${CMAKE_Fortran_COMPILER} STREQUAL "G77") endif () endif () -if (${CMAKE_Fortran_COMPILER} STREQUAL "G95") +if (${F_COMPILER} STREQUAL "G95") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_G95") set(FCOMMON_OPT "${FCOMMON_OPT} -Wall") if (NOT NO_BINARY_MODE) @@ -27,7 +27,7 @@ if (${CMAKE_Fortran_COMPILER} STREQUAL "G95") endif () endif () -if (${CMAKE_Fortran_COMPILER} STREQUAL "GFORTRAN") +if (${F_COMPILER} STREQUAL "GFORTRAN") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_GFORT") set(FCOMMON_OPT "${FCOMMON_OPT} -Wall") #Don't include -lgfortran, when NO_LAPACK=1 or lsbcc @@ -58,7 +58,7 @@ if (${CMAKE_Fortran_COMPILER} STREQUAL "GFORTRAN") endif () endif () -if (${CMAKE_Fortran_COMPILER} STREQUAL "INTEL") +if (${F_COMPILER} STREQUAL "INTEL") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_INTEL") if (INTERFACE64) set(FCOMMON_OPT "${FCOMMON_OPT} -i8") @@ -68,14 +68,14 @@ if (${CMAKE_Fortran_COMPILER} STREQUAL "INTEL") endif () endif () -if (${CMAKE_Fortran_COMPILER} STREQUAL "FUJITSU") +if (${F_COMPILER} STREQUAL "FUJITSU") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_FUJITSU") if (USE_OPENMP) set(FCOMMON_OPT "${FCOMMON_OPT} -openmp") endif () endif () -if (${CMAKE_Fortran_COMPILER} STREQUAL "IBM") +if (${F_COMPILER} STREQUAL "IBM") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_IBM") # FCOMMON_OPT += -qarch=440 if (BINARY64) @@ -91,7 +91,7 @@ if (${CMAKE_Fortran_COMPILER} STREQUAL "IBM") endif () endif () -if (${CMAKE_Fortran_COMPILER} STREQUAL "PGI") +if (${F_COMPILER} STREQUAL "PGI") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_PGI") set(COMMON_PROF "${COMMON_PROF} -DPGICOMPILER") if (BINARY64) @@ -107,7 +107,7 @@ if (${CMAKE_Fortran_COMPILER} STREQUAL "PGI") endif () endif () -if (${CMAKE_Fortran_COMPILER} STREQUAL "PATHSCALE") +if (${F_COMPILER} STREQUAL "PATHSCALE") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_PATHSCALE") if (BINARY64) if (INTERFACE64) @@ -134,7 +134,7 @@ if (${CMAKE_Fortran_COMPILER} STREQUAL "PATHSCALE") endif () endif () -if (${CMAKE_Fortran_COMPILER} STREQUAL "OPEN64") +if (${F_COMPILER} STREQUAL "OPEN64") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_OPEN64") if (BINARY64) @@ -172,7 +172,7 @@ if (${CMAKE_Fortran_COMPILER} STREQUAL "OPEN64") endif () endif () -if (${CMAKE_Fortran_COMPILER} STREQUAL "SUN") +if (${F_COMPILER} STREQUAL "SUN") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_SUN") if (${ARCH} STREQUAL "x86") set(FCOMMON_OPT "${FCOMMON_OPT} -m32") @@ -184,7 +184,7 @@ if (${CMAKE_Fortran_COMPILER} STREQUAL "SUN") endif () endif () -if (${CMAKE_Fortran_COMPILER} STREQUAL "COMPAQ") +if (${F_COMPILER} STREQUAL "COMPAQ") set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_COMPAQ") if (USE_OPENMP) set(FCOMMON_OPT "${FCOMMON_OPT} -openmp") diff --git a/cmake/system.cmake b/cmake/system.cmake index f85d13f03..1f602e021 100644 --- a/cmake/system.cmake +++ b/cmake/system.cmake @@ -72,7 +72,7 @@ if (CMAKE_CXX_COMPILER STREQUAL loongcc) endif () #if don't use Fortran, it will only compile CBLAS. -if (${ONLY_CBLAS}) +if (ONLY_CBLAS) set(NO_LAPACK 1) else () set(ONLY_CBLAS 0) @@ -81,12 +81,10 @@ endif () include("${CMAKE_SOURCE_DIR}/cmake/prebuild.cmake") if (NOT DEFINED NUM_THREADS) - # TODO: NUM_CORES comes from `getarch.c` or `cpuid_x86.c`. This is built and executed above in `Makefile.prebuild`, and the results are in `Makefile.conf` and `Makefile_kernel.conf`. -hpa set(NUM_THREADS ${NUM_CORES}) endif () if (${NUM_THREADS} EQUAL 1) - # TODO: was "override USE_THREAD = 0", do we need "override" here? -hpa set(USE_THREAD 0) endif () @@ -150,7 +148,7 @@ if (NEED_PIC) set(CCOMMON_OPT "${CCOMMON_OPT} -fPIC") endif () - if (${CMAKE_Fortran_COMPILER} STREQUAL "SUN") + if (${F_COMPILER} STREQUAL "SUN") set(FCOMMON_OPT "${FCOMMON_OPT} -pic") else () set(FCOMMON_OPT "${FCOMMON_OPT} -fPIC")