[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