summaryrefslogtreecommitdiff
path: root/Modules/CheckFortranCompilerFlag.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-06-15 13:49:35 -0400
committerBrad King <brad.king@kitware.com>2017-06-15 13:49:35 -0400
commitaa944c88e3e89398eaabab78297b42dea99d69d4 (patch)
tree2d58e84c4e13c7419e3177a654829477c7b5e8a8 /Modules/CheckFortranCompilerFlag.cmake
parent7c5299add429d4b4714a6070bc6f8186585e9a2f (diff)
downloadcmake-aa944c88e3e89398eaabab78297b42dea99d69d4.tar.gz
Check*CompilerFlag: Rewrite documentation of these modules
Format with modern markup. Clarify that the setting of `CMAKE_REQUIRED_DEFINITIONS` is temporary. Add a note warning about contamination of the checks by `CMAKE_<LANG>_FLAGS`. Issue: #16973
Diffstat (limited to 'Modules/CheckFortranCompilerFlag.cmake')
-rw-r--r--Modules/CheckFortranCompilerFlag.cmake51
1 files changed, 30 insertions, 21 deletions
diff --git a/Modules/CheckFortranCompilerFlag.cmake b/Modules/CheckFortranCompilerFlag.cmake
index 8519fccf75..8a1a8b9cd8 100644
--- a/Modules/CheckFortranCompilerFlag.cmake
+++ b/Modules/CheckFortranCompilerFlag.cmake
@@ -1,27 +1,36 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
-#.rst:
-# CheckFortranCompilerFlag
-# ------------------------
-#
-# Check whether the Fortran compiler supports a given flag.
-#
-# CHECK_Fortran_COMPILER_FLAG(<flag> <var>)
-#
-# ::
-#
-# <flag> - the compiler flag
-# <var> - variable to store the result
-# Will be created as an internal cache variable.
-#
-# This internally calls the check_fortran_source_compiles macro and
-# sets CMAKE_REQUIRED_DEFINITIONS to <flag>. See help for
-# CheckFortranSourceCompiles for a listing of variables that can
-# otherwise modify the build. The result only tells that the compiler
-# does not give an error message when it encounters the flag. If the
-# flag has any effect or even a specific one is beyond the scope of
-# this module.
+#[=======================================================================[.rst:
+CheckFortranCompilerFlag
+------------------------
+
+Check whether the Fortran compiler supports a given flag.
+
+.. command:: check_fortran_compiler_flag
+
+ ::
+
+ check_fortran_compiler_flag(<flag> <var>)
+
+ Check that the ``<flag>`` is accepted by the compiler without
+ a diagnostic. Stores the result in an internal cache entry
+ named ``<var>``.
+
+This command temporarily sets the ``CMAKE_REQUIRED_DEFINITIONS`` variable
+and calls the ``check_fortran_source_compiles`` macro from the
+:module:`CheckFortranSourceCompiles` module. See documentation of that
+module for a listing of variables that can otherwise modify the build.
+
+A positive result from this check indicates only that the compiler did not
+issue a diagnostic message when given the flag. Whether the flag has any
+effect or even a specific one is beyond the scope of this module.
+
+.. note::
+ Since the :command:`try_compile` command forwards flags from variables
+ like :variable:`CMAKE_Fortran_FLAGS <CMAKE_<LANG>_FLAGS>`, unknown flags
+ in such variables may cause a false negative for this check.
+#]=======================================================================]
include(CheckFortranSourceCompiles)
include(CMakeCheckCompilerFlagCommonPatterns)