optional fc module is now separate module
This commit is contained in:
parent
79200c8a62
commit
13f0ec0e34
69
modules/fc-optional.cmake
Normal file
69
modules/fc-optional.cmake
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
#.rst:
|
||||||
|
#
|
||||||
|
# Adds optional 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.
|
||||||
|
#
|
||||||
|
# Variables used::
|
||||||
|
#
|
||||||
|
# EXTRA_FCFLAGS
|
||||||
|
# ENABLE_FC_SUPPORT
|
||||||
|
#
|
||||||
|
# Variables defined::
|
||||||
|
#
|
||||||
|
# CMAKE_Fortran_MODULE_DIRECTORY (${PROJECT_BINARY_DIR}/include/fortran)
|
||||||
|
#
|
||||||
|
# Variables modified::
|
||||||
|
#
|
||||||
|
# CMAKE_Fortran_FLAGS
|
||||||
|
#
|
||||||
|
# Variables set::
|
||||||
|
#
|
||||||
|
# ENABLE_FC_SUPPORT
|
||||||
|
#
|
||||||
|
# Environment variables used::
|
||||||
|
#
|
||||||
|
# FCFLAGS
|
||||||
|
#
|
||||||
|
# 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: ''].
|
||||||
|
# --fc-support=<FC_SUPPORT> Toggle Fortran language support (ON/OFF) [default: ON].
|
||||||
|
# export: 'FC=%s' % arguments['--fc']
|
||||||
|
# define: '-DEXTRA_FCFLAGS="%s"' % arguments['--extra-fc-flags']
|
||||||
|
# '-DENABLE_FC_SUPPORT="%s"' % arguments['--fc-support']
|
||||||
|
|
||||||
|
option(ENABLE_FC_SUPPORT "Enable Fortran language support" ON)
|
||||||
|
|
||||||
|
if(ENABLE_FC_SUPPORT)
|
||||||
|
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})
|
||||||
|
message(STATUS "FCFLAGS is set to '$ENV{FCFLAGS}'.")
|
||||||
|
set(CMAKE_Fortran_FLAGS "$ENV{FCFLAGS}")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
# workaround to avoid unused warning
|
||||||
|
if(DEFINED EXTRA_FCFLAGS)
|
||||||
|
set(_unused ${EXTRA_FCFLAGS})
|
||||||
|
unset(_unused)
|
||||||
|
endif()
|
||||||
|
endif()
|
@ -8,7 +8,6 @@
|
|||||||
# Variables used::
|
# Variables used::
|
||||||
#
|
#
|
||||||
# EXTRA_FCFLAGS
|
# EXTRA_FCFLAGS
|
||||||
# ENABLE_FC_SUPPORT
|
|
||||||
#
|
#
|
||||||
# Variables defined::
|
# Variables defined::
|
||||||
#
|
#
|
||||||
@ -18,10 +17,6 @@
|
|||||||
#
|
#
|
||||||
# CMAKE_Fortran_FLAGS
|
# CMAKE_Fortran_FLAGS
|
||||||
#
|
#
|
||||||
# Variables set::
|
|
||||||
#
|
|
||||||
# ENABLE_FC_SUPPORT
|
|
||||||
#
|
|
||||||
# Environment variables used::
|
# Environment variables used::
|
||||||
#
|
#
|
||||||
# FCFLAGS
|
# FCFLAGS
|
||||||
@ -32,14 +27,9 @@
|
|||||||
# source: https://github.com/scisoft/autocmake/raw/master/modules/fc.cmake
|
# source: https://github.com/scisoft/autocmake/raw/master/modules/fc.cmake
|
||||||
# docopt: --fc=<FC> Fortran compiler [default: gfortran].
|
# docopt: --fc=<FC> Fortran compiler [default: gfortran].
|
||||||
# --extra-fc-flags=<EXTRA_FCFLAGS> Extra Fortran compiler flags [default: ''].
|
# --extra-fc-flags=<EXTRA_FCFLAGS> Extra Fortran compiler flags [default: ''].
|
||||||
# --fc-support=<FC_SUPPORT> Toggle Fortran language support (ON/OFF) [default: ON].
|
|
||||||
# export: 'FC=%s' % arguments['--fc']
|
# export: 'FC=%s' % arguments['--fc']
|
||||||
# define: '-DEXTRA_FCFLAGS="%s"' % arguments['--extra-fc-flags']
|
# define: '-DEXTRA_FCFLAGS="%s"' % arguments['--extra-fc-flags']
|
||||||
# '-DENABLE_FC_SUPPORT="%s"' % arguments['--fc-support']
|
|
||||||
|
|
||||||
option(ENABLE_FC_SUPPORT "Enable Fortran language support" ON)
|
|
||||||
|
|
||||||
if(ENABLE_FC_SUPPORT)
|
|
||||||
enable_language(Fortran)
|
enable_language(Fortran)
|
||||||
|
|
||||||
set(CMAKE_Fortran_MODULE_DIRECTORY ${PROJECT_BINARY_DIR}/include/fortran)
|
set(CMAKE_Fortran_MODULE_DIRECTORY ${PROJECT_BINARY_DIR}/include/fortran)
|
||||||
@ -60,10 +50,3 @@ if(ENABLE_FC_SUPPORT)
|
|||||||
message(STATUS "FCFLAGS is set to '$ENV{FCFLAGS}'.")
|
message(STATUS "FCFLAGS is set to '$ENV{FCFLAGS}'.")
|
||||||
set(CMAKE_Fortran_FLAGS "$ENV{FCFLAGS}")
|
set(CMAKE_Fortran_FLAGS "$ENV{FCFLAGS}")
|
||||||
endif()
|
endif()
|
||||||
else()
|
|
||||||
# workaround to avoid unused warning
|
|
||||||
if(DEFINED EXTRA_FCFLAGS)
|
|
||||||
set(_unused ${EXTRA_FCFLAGS})
|
|
||||||
unset(_unused)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user