[Cmake-commits] CMake branch, master, updated. v3.13.3-1085-g378473f
Kitware Robot
kwrobot at kitware.com
Thu Jan 24 10:43:04 EST 2019
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, master has been updated
via 378473f9f184000cb768c1b99e6242e054787f34 (commit)
via 3d63d3ce2fd6064433e2cff9469260aec9deb116 (commit)
from 1d02491950b0aa05d2053e7fa32b39dca31e537b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=378473f9f184000cb768c1b99e6242e054787f34
commit 378473f9f184000cb768c1b99e6242e054787f34
Merge: 1d02491 3d63d3c
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 24 15:36:33 2019 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Jan 24 10:36:40 2019 -0500
Merge topic 'fortran-docs'
3d63d3ce2f Help: Add examples to CheckFortranSource{Runs,Compiles}
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !2843
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3d63d3ce2fd6064433e2cff9469260aec9deb116
commit 3d63d3ce2fd6064433e2cff9469260aec9deb116
Author: Michael Hirsch, Ph.D <scivision at users.noreply.github.com>
AuthorDate: Tue Jan 22 22:24:03 2019 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Jan 23 08:28:13 2019 -0500
Help: Add examples to CheckFortranSource{Runs,Compiles}
diff --git a/Modules/CheckFortranSourceCompiles.cmake b/Modules/CheckFortranSourceCompiles.cmake
index 1820407..f94b254 100644
--- a/Modules/CheckFortranSourceCompiles.cmake
+++ b/Modules/CheckFortranSourceCompiles.cmake
@@ -17,8 +17,20 @@ Check if given Fortran source compiles and links into an executable.
)
Checks that the source supplied in ``<code>`` can be compiled as a Fortran
- source file and linked as an executable (so it must contain at least a
- ``PROGRAM`` entry point). The result will be stored in the internal cache
+ source file and linked as an executable. The ``<code>`` must be a Fortran program
+ containing at least an ``end`` statement--for example:
+
+ .. code-block:: cmake
+
+ check_fortran_source_compiles("character :: b; error stop b; end" F2018ESTOPOK SRC_EXT F90)
+
+ This command can help avoid costly build processes when a compiler lacks support
+ for a necessary feature, or a particular vendor library is not compatible with
+ the Fortran compiler version being used. This generate-time check may advise the
+ user of such before the main build process. See also the
+ :command:`check_fortran_source_runs` command to actually run the compiled code.
+
+ The result will be stored in the internal cache
variable ``<resultVar>``, with a boolean true value for success and boolean
false for failure.
diff --git a/Modules/CheckFortranSourceRuns.cmake b/Modules/CheckFortranSourceRuns.cmake
index 58d90d7..13fdb0b 100644
--- a/Modules/CheckFortranSourceRuns.cmake
+++ b/Modules/CheckFortranSourceRuns.cmake
@@ -16,8 +16,20 @@ subsequently be run.
[SRC_EXT <extension>])
Check that the source supplied in ``<code>`` can be compiled as a Fortran source
- file, linked as an executable and then run. The ``<code>`` must contain at
- least ``program; end program`` statements. If the ``<code>`` could be built and run
+ file, linked as an executable and then run. The ``<code>`` must be a Fortran program
+ containing at least an ``end`` statement--for example:
+
+ .. code-block:: cmake
+
+ check_fortran_source_runs("real :: x[*]; call co_sum(x); end" F2018coarrayOK)
+
+ This command can help avoid costly build processes when a compiler lacks support
+ for a necessary feature, or a particular vendor library is not compatible with
+ the Fortran compiler version being used. Some of these failures only occur at runtime
+ instead of linktime, and a trivial runtime example can catch the issue before the
+ main build process.
+
+ If the ``<code>`` could be built and run
successfully, the internal cache variable specified by ``<resultVar>`` will
be set to 1, otherwise it will be set to an value that evaluates to boolean
false (e.g. an empty string or an error message).
-----------------------------------------------------------------------
Summary of changes:
Modules/CheckFortranSourceCompiles.cmake | 16 ++++++++++++++--
Modules/CheckFortranSourceRuns.cmake | 16 ++++++++++++++--
2 files changed, 28 insertions(+), 4 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list