Add a fortran test if there is a fortran compiler
This commit is contained in:
parent
66a08c10e5
commit
e803b32b89
@ -4,7 +4,6 @@
|
|||||||
# use environment variable CCC first if defined by user, next use
|
# use environment variable CCC first if defined by user, next use
|
||||||
# the cmake variable CMAKE_GENERATOR_CC which can be defined by a generator
|
# the cmake variable CMAKE_GENERATOR_CC which can be defined by a generator
|
||||||
# as a default compiler
|
# as a default compiler
|
||||||
|
|
||||||
IF(NOT CMAKE_Fortran_COMPILER)
|
IF(NOT CMAKE_Fortran_COMPILER)
|
||||||
# prefer the environment variable CC
|
# prefer the environment variable CC
|
||||||
IF($ENV{FC} MATCHES ".+")
|
IF($ENV{FC} MATCHES ".+")
|
||||||
@ -14,39 +13,39 @@ IF(NOT CMAKE_Fortran_COMPILER)
|
|||||||
MESSAGE(FATAL_ERROR "Could not find compiler set in environment variable FC:\n$ENV{FC}.")
|
MESSAGE(FATAL_ERROR "Could not find compiler set in environment variable FC:\n$ENV{FC}.")
|
||||||
ENDIF(EXISTS ${CMAKE_Fortran_COMPILER_INIT})
|
ENDIF(EXISTS ${CMAKE_Fortran_COMPILER_INIT})
|
||||||
ENDIF($ENV{FC} MATCHES ".+")
|
ENDIF($ENV{FC} MATCHES ".+")
|
||||||
|
|
||||||
# next try prefer the compiler specified by the generator
|
# next try prefer the compiler specified by the generator
|
||||||
IF(CMAKE_GENERATOR_FC)
|
IF(CMAKE_GENERATOR_FC)
|
||||||
IF(NOT CMAKE_Fortran_COMPILER_INIT)
|
IF(NOT CMAKE_Fortran_COMPILER_INIT)
|
||||||
SET(CMAKE_Fortran_COMPILER_INIT ${CMAKE_GENERATOR_FC})
|
SET(CMAKE_Fortran_COMPILER_INIT ${CMAKE_GENERATOR_FC})
|
||||||
ENDIF(NOT CMAKE_Fortran_COMPILER_INIT)
|
ENDIF(NOT CMAKE_Fortran_COMPILER_INIT)
|
||||||
ENDIF(CMAKE_GENERATOR_FC)
|
ENDIF(CMAKE_GENERATOR_FC)
|
||||||
|
|
||||||
|
|
||||||
# if no compiler has been specified yet, then look for one
|
# if no compiler has been specified yet, then look for one
|
||||||
IF(NOT CMAKE_Fortran_COMPILER_INIT)
|
IF(NOT CMAKE_Fortran_COMPILER_INIT)
|
||||||
# if not in the envionment then search for the compiler in the path# Known compilers:
|
# if not in the envionment then search for the compiler in the path# Known compilers:
|
||||||
# f77/f90/f95: generic compiler names
|
# f77/f90/f95: generic compiler names
|
||||||
# g77: GNU Fortran 77 compiler
|
# g77: GNU Fortran 77 compiler
|
||||||
# gfortran: putative GNU Fortran 95+ compiler (in progress)
|
# gfortran: putative GNU Fortran 95+ compiler (in progress)
|
||||||
# fort77: native F77 compiler under HP-UX (and some older Crays)
|
# fort77: native F77 compiler under HP-UX (and some older Crays)
|
||||||
# frt: Fujitsu F77 compiler
|
# frt: Fujitsu F77 compiler
|
||||||
# pgf77/pgf90/pgf95: Portland Group F77/F90/F95 compilers
|
# pgf77/pgf90/pgf95: Portland Group F77/F90/F95 compilers
|
||||||
# xlf/xlf90/xlf95: IBM (AIX) F77/F90/F95 compilers
|
# xlf/xlf90/xlf95: IBM (AIX) F77/F90/F95 compilers
|
||||||
# lf95: Lahey-Fujitsu F95 compiler
|
# lf95: Lahey-Fujitsu F95 compiler
|
||||||
# fl32: Microsoft Fortran 77 "PowerStation" compiler
|
# fl32: Microsoft Fortran 77 "PowerStation" compiler
|
||||||
# af77: Apogee F77 compiler for Intergraph hardware running CLIX
|
# af77: Apogee F77 compiler for Intergraph hardware running CLIX
|
||||||
# epcf90: "Edinburgh Portable Compiler" F90
|
# epcf90: "Edinburgh Portable Compiler" F90
|
||||||
# fort: Compaq (now HP) Fortran 90/95 compiler for Tru64 and Linux/Alpha
|
# fort: Compaq (now HP) Fortran 90/95 compiler for Tru64 and Linux/Alpha
|
||||||
# ifc: Intel Fortran 95 compiler for Linux/x86
|
# ifc: Intel Fortran 95 compiler for Linux/x86
|
||||||
# efc: Intel Fortran 95 compiler for IA64
|
# efc: Intel Fortran 95 compiler for IA64
|
||||||
# the order is 95 or newer compilers first, then 90, then 77 or older compilers, gnu is always last in the group,
|
# the order is 95 or newer compilers first, then 90, then 77 or older compilers, gnu is always last in the group,
|
||||||
# so if you paid for a compiler it is picked by default
|
# so if you paid for a compiler it is picked by default
|
||||||
SET(CMAKE_Fortran_COMPILER_LIST ifort ifc efc f95 pgf95 lf95 xlf95 fort gfortran f90 pgf90 xlf90 epcf90
|
SET(CMAKE_Fortran_COMPILER_LIST ifort ifc efc f95 pgf95
|
||||||
f77 fort77 frt pgf77 xlf fl32 af77 g77 )
|
lf95 xlf95 fort gfortran f90 pgf90 xlf90 epcf90 f77 fort77 frt pgf77 xlf fl32 af77 g77 )
|
||||||
FIND_PROGRAM(CMAKE_Fortran_COMPILER_FULLPATH NAMES ${CMAKE_Fortran_COMPILER_LIST} )
|
FIND_PROGRAM(CMAKE_Fortran_COMPILER_FULLPATH NAMES ${CMAKE_Fortran_COMPILER_LIST} )
|
||||||
GET_FILENAME_COMPONENT(CMAKE_Fortran_COMPILER_INIT
|
GET_FILENAME_COMPONENT(CMAKE_Fortran_COMPILER_INIT
|
||||||
${CMAKE_Fortran_COMPILER_FULLPATH} NAME)
|
${CMAKE_Fortran_COMPILER_FULLPATH} NAME)
|
||||||
SET(CMAKE_Fortran_COMPILER_FULLPATH "${CMAKE_Fortran_COMPILER_FULLPATH}" CACHE INTERNAL "full path to the compiler cmake found")
|
SET(CMAKE_Fortran_COMPILER_FULLPATH "${CMAKE_Fortran_COMPILER_FULLPATH}" CACHE INTERNAL "full path to the compiler cmake found")
|
||||||
ENDIF(NOT CMAKE_Fortran_COMPILER_INIT)
|
ENDIF(NOT CMAKE_Fortran_COMPILER_INIT)
|
||||||
|
|
||||||
|
@ -616,8 +616,21 @@ IF(BUILD_TESTING)
|
|||||||
)
|
)
|
||||||
|
|
||||||
ENDIF (CTEST_TEST_CTEST)
|
ENDIF (CTEST_TEST_CTEST)
|
||||||
|
# see if we can find a fortran compiler on the machine
|
||||||
|
# if so, add the fortran test and see if it works.
|
||||||
|
INCLUDE(CMakeDetermineFortranCompiler)
|
||||||
|
IF(CMAKE_Fortran_COMPILER_FULLPATH)
|
||||||
|
ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND}
|
||||||
|
--build-and-test
|
||||||
|
"${CMake_SOURCE_DIR}/Tests/Fortran"
|
||||||
|
"${CMake_BINARY_DIR}/Tests/Fortran"
|
||||||
|
--build-generator ${CMAKE_GENERATOR}
|
||||||
|
--build-project Simple
|
||||||
|
--build-makeprogram ${MAKEPROGRAM}
|
||||||
|
--build-two-config
|
||||||
|
--test-command testf)
|
||||||
|
ENDIF(CMAKE_Fortran_COMPILER_FULLPATH)
|
||||||
|
|
||||||
IF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE OR WXWINDOWS_INCLUDE_DIR)
|
IF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE OR WXWINDOWS_INCLUDE_DIR)
|
||||||
# Will be set if the wxwindows gui is on
|
# Will be set if the wxwindows gui is on
|
||||||
ADD_TEST(UseWX ${CMAKE_CTEST_COMMAND}
|
ADD_TEST(UseWX ${CMAKE_CTEST_COMMAND}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user