#.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= Fortran compiler [default: gfortran]. # --extra-fc-flags= 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()