FCFLAGS overrules other flags

This commit is contained in:
Radovan Bast 2015-06-04 17:57:18 +02:00
parent 8170fd0b6f
commit a9e1497030
5 changed files with 38 additions and 21 deletions

View File

@ -1,5 +1,7 @@
if(CMAKE_Fortran_COMPILER_ID MATCHES GNU) if(NOT DEFINED ENV{FCFLAGS})
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}") if(CMAKE_Fortran_COMPILER_ID MATCHES GNU)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -funroll-all-loops -w") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -g -fbacktrace") set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -funroll-all-loops -w")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -g -fbacktrace")
endif()
endif() endif()

View File

@ -1,5 +1,7 @@
if(CMAKE_Fortran_COMPILER_ID MATCHES Intel) if(NOT DEFINED ENV{FCFLAGS})
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w -assume byterecl") if(CMAKE_Fortran_COMPILER_ID MATCHES Intel)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -ip") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w -assume byterecl")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -g -traceback") set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -ip")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -g -traceback")
endif()
endif() endif()

View File

@ -1,5 +1,7 @@
if(CMAKE_Fortran_COMPILER_ID MATCHES PGI) if(NOT DEFINED ENV{FCFLAGS})
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}") if(CMAKE_Fortran_COMPILER_ID MATCHES PGI)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}")
set(CMAKE_Fortran_FLAGS_DEBUG "-g") set(CMAKE_Fortran_FLAGS_RELEASE "-O3")
set(CMAKE_Fortran_FLAGS_DEBUG "-g")
endif()
endif() endif()

View File

@ -1,5 +1,7 @@
if(CMAKE_Fortran_COMPILER_ID MATCHES XL) if(NOT DEFINED ENV{FCFLAGS})
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -qzerosize -qextname -qsuppress=cmpmsg") if(CMAKE_Fortran_COMPILER_ID MATCHES XL)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -qzerosize -qextname -qsuppress=cmpmsg")
set(CMAKE_Fortran_FLAGS_DEBUG "-g") set(CMAKE_Fortran_FLAGS_RELEASE "-O3")
set(CMAKE_Fortran_FLAGS_DEBUG "-g")
endif()
endif() endif()

View File

@ -1,13 +1,22 @@
#.rst: #.rst:
# #
# Adds Fortran support. # Adds Fortran support.
# Appends EXTRA_Fortran_FLAGS to CMAKE_Fortran_FLAGS. # Appends EXTRA_FCFLAGS to CMAKE_Fortran_FLAGS.
# If environment variable FCFLAGS is set, then these flags are used # If environment variable FCFLAGS is set, then the FCFLAGS are used
# and no other flags are appended. # and no other flags are used or appended.
# #
# Defines:: # Defines::
# #
# CMAKE_Fortran_MODULE_DIRECTORY (${PROJECT_BINARY_DIR}/include/fortran) # CMAKE_Fortran_MODULE_DIRECTORY (${PROJECT_BINARY_DIR}/include/fortran)
#
# Example autocmake.cfg entry::
#
# [fc]
# source: https://github.com/scisoft/autocmake/raw/master/modules/fc.cmake
# docopt: --fc=<FC> Fortran compiler [default: gfortran].
# --extra-fc-flags=<EXTRA_FCFLAGS> Extra Fortran compiler flags [default: ''].
# export: 'FC=%s' % arguments['--fc']``
# define: '-DEXTRA_FCFLAGS=%s' % arguments['--extra-fc-flags']
enable_language(Fortran) enable_language(Fortran)
@ -21,8 +30,8 @@ if(NOT CMAKE_Fortran_COMPILER_WORKS)
message(FATAL_ERROR "CMAKE_Fortran_COMPILER_WORKS is false!") message(FATAL_ERROR "CMAKE_Fortran_COMPILER_WORKS is false!")
endif() endif()
if(DEFINED EXTRA_Fortran_FLAGS) if(DEFINED EXTRA_FCFLAGS)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${EXTRA_Fortran_FLAGS}") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${EXTRA_FCFLAGS}")
endif() endif()
if(DEFINED ENV{FCFLAGS}) if(DEFINED ENV{FCFLAGS})