40 lines
1.2 KiB
CMake
40 lines
1.2 KiB
CMake
#.rst:
|
|
#
|
|
# Adds Fortran support.
|
|
# Appends EXTRA_FCFLAGS to CMAKE_Fortran_FLAGS.
|
|
# If environment variable FCFLAGS is set, then the FCFLAGS are used
|
|
# and no other flags are used or appended.
|
|
#
|
|
# Defines::
|
|
#
|
|
# 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)
|
|
|
|
set(CMAKE_Fortran_MODULE_DIRECTORY ${PROJECT_BINARY_DIR}/include/fortran)
|
|
|
|
if(NOT DEFINED CMAKE_Fortran_COMPILER_ID)
|
|
message(FATAL_ERROR "CMAKE_Fortran_COMPILER_ID variable is not defined!")
|
|
endif()
|
|
|
|
if(NOT CMAKE_Fortran_COMPILER_WORKS)
|
|
message(FATAL_ERROR "CMAKE_Fortran_COMPILER_WORKS is false!")
|
|
endif()
|
|
|
|
if(DEFINED EXTRA_FCFLAGS)
|
|
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${EXTRA_FCFLAGS}")
|
|
endif()
|
|
|
|
if(DEFINED ENV{FCFLAGS})
|
|
set(CMAKE_Fortran_FLAGS "$ENV{FCFLAGS}")
|
|
endif()
|