Help: Check*SourceRuns make text more concise.

Similar simplification was done in !9641 for Check*SourceCompiles
This commit is contained in:
Michael Hirsch
2024-08-15 22:24:12 -04:00
parent 5d42177a06
commit 759776dcdb
6 changed files with 50 additions and 83 deletions

View File

@@ -5,7 +5,7 @@
CheckCSourceRuns CheckCSourceRuns
---------------- ----------------
Check if given C source compiles and links into an executable and can Check once if given C source compiles and links into an executable and can
subsequently be run. subsequently be run.
.. command:: check_c_source_runs .. command:: check_c_source_runs
@@ -14,18 +14,14 @@ subsequently be run.
check_c_source_runs(<code> <resultVar>) check_c_source_runs(<code> <resultVar>)
Check that the source supplied in ``<code>`` can be compiled as a C source Check once that the source supplied in ``<code>`` can be built, linked as an
file, linked as an executable and then run. The ``<code>`` must contain at executable, and then run. The ``<code>`` must contain at least a ``main()``
least a ``main()`` function. If the ``<code>`` could be built and run function.
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).
The check is only performed once, with the result cached in the variable named The result is stored in the internal cache variable specified by
by ``<resultVar>``. Every subsequent CMake run will reuse this cached value ``<resultVar>``. Success of build and run is indicated by boolean ``true``.
rather than performing the check again, even if the ``<code>`` changes. In Failure to build or run is indicated by boolean ``false`` such as an empty
order to force the check to be re-evaluated, the variable named by string or an error message.
``<resultVar>`` must be manually removed from the cache.
See also :command:`check_source_runs` for a more general command syntax. See also :command:`check_source_runs` for a more general command syntax.

View File

@@ -5,7 +5,7 @@
CheckCXXSourceRuns CheckCXXSourceRuns
------------------ ------------------
Check if given C++ source compiles and links into an executable and can Check once if given C++ source compiles and links into an executable and can
subsequently be run. subsequently be run.
.. command:: check_cxx_source_runs .. command:: check_cxx_source_runs
@@ -14,18 +14,14 @@ subsequently be run.
check_cxx_source_runs(<code> <resultVar>) check_cxx_source_runs(<code> <resultVar>)
Check that the source supplied in ``<code>`` can be compiled as a C++ source Check once that the source supplied in ``<code>`` can be built, linked as an
file, linked as an executable and then run. The ``<code>`` must contain at executable, and then run. The ``<code>`` must contain at least a ``main()``
least a ``main()`` function. If the ``<code>`` could be built and run function.
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).
The check is only performed once, with the result cached in the variable named The result is stored in the internal cache variable specified by
by ``<resultVar>``. Every subsequent CMake run will reuse this cached value ``<resultVar>``. Success of build and run is indicated by boolean ``true``.
rather than performing the check again, even if the ``<code>`` changes. In Failure to build or run is indicated by boolean ``false`` such as an empty
order to force the check to be re-evaluated, the variable named by string or an error message.
``<resultVar>`` must be manually removed from the cache.
See also :command:`check_source_runs` for a more general command syntax. See also :command:`check_source_runs` for a more general command syntax.

View File

@@ -7,7 +7,7 @@ CheckFortranSourceRuns
.. versionadded:: 3.14 .. versionadded:: 3.14
Check if given Fortran source compiles and links into an executable and can Check once if given Fortran source compiles and links into an executable and can
subsequently be run. subsequently be run.
.. command:: check_fortran_source_runs .. command:: check_fortran_source_runs
@@ -17,9 +17,13 @@ subsequently be run.
check_fortran_source_runs(<code> <resultVar> check_fortran_source_runs(<code> <resultVar>
[SRC_EXT <extension>]) [SRC_EXT <extension>])
Check that the source supplied in ``<code>`` can be compiled as a Fortran source Check once that the source supplied in ``<code>`` can be built, linked as an
file, linked as an executable and then run. The ``<code>`` must be a Fortran executable, and then run. The ``<code>`` must contain a Fortran ``program``.
``program``.
The result is stored in the internal cache variable specified by
``<resultVar>``. Success of build and run is indicated by boolean ``true``.
Failure to build or run is indicated by boolean ``false`` such as an empty
string or an error message.
.. code-block:: cmake .. code-block:: cmake
@@ -29,26 +33,9 @@ subsequently be run.
end program" end program"
HAVE_COARRAY) HAVE_COARRAY)
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).
By default, the test source file will be given a ``.F90`` file extension. The By default, the test source file will be given a ``.F90`` file extension. The
``SRC_EXT`` option can be used to override this with ``.<extension>`` instead. ``SRC_EXT`` option can be used to override this with ``.<extension>`` instead.
The check is only performed once, with the result cached in the variable named
by ``<resultVar>``. Every subsequent CMake run will reuse this cached value
rather than performing the check again, even if the ``<code>`` changes. In
order to force the check to be re-evaluated, the variable named by
``<resultVar>`` must be manually removed from the cache.
See also :command:`check_source_runs` for a more general command syntax. See also :command:`check_source_runs` for a more general command syntax.
The compile and link commands can be influenced by setting any of the The compile and link commands can be influenced by setting any of the

View File

@@ -7,8 +7,8 @@ CheckOBJCSourceRuns
.. versionadded:: 3.16 .. versionadded:: 3.16
Check if given Objective-C source compiles and links into an executable and can Check once if given Objective-C source compiles and links into an executable and
subsequently be run. can subsequently be run.
.. command:: check_objc_source_runs .. command:: check_objc_source_runs
@@ -16,18 +16,14 @@ subsequently be run.
check_objc_source_runs(<code> <resultVar>) check_objc_source_runs(<code> <resultVar>)
Check that the source supplied in ``<code>`` can be compiled as a Objective-C source Check once that the source supplied in ``<code>`` can be built, linked as an
file, linked as an executable and then run. The ``<code>`` must contain at executable, and then run. The ``<code>`` must contain at least a ``main()``
least a ``main()`` function. If the ``<code>`` could be built and run function.
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).
The check is only performed once, with the result cached in the variable named The result is stored in the internal cache variable specified by
by ``<resultVar>``. Every subsequent CMake run will reuse this cached value ``<resultVar>``. Success of build and run is indicated by boolean ``true``.
rather than performing the check again, even if the ``<code>`` changes. In Failure to build or run is indicated by boolean ``false`` such as an empty
order to force the check to be re-evaluated, the variable named by string or an error message.
``<resultVar>`` must be manually removed from the cache.
See also :command:`check_source_runs` for a more general command syntax. See also :command:`check_source_runs` for a more general command syntax.

View File

@@ -7,8 +7,8 @@ CheckOBJCXXSourceRuns
.. versionadded:: 3.16 .. versionadded:: 3.16
Check if given Objective-C++ source compiles and links into an executable and can Check once if given Objective-C++ source compiles and links into an executable
subsequently be run. and can subsequently be run.
.. command:: check_objcxx_source_runs .. command:: check_objcxx_source_runs
@@ -16,18 +16,14 @@ subsequently be run.
check_objcxx_source_runs(<code> <resultVar>) check_objcxx_source_runs(<code> <resultVar>)
Check that the source supplied in ``<code>`` can be compiled as a Objective-C++ source Check once that the source supplied in ``<code>`` can be built, linked as an
file, linked as an executable and then run. The ``<code>`` must contain at executable, and then run. The ``<code>`` must contain at least a ``main()``
least a ``main()`` function. If the ``<code>`` could be built and run function.
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).
The check is only performed once, with the result cached in the variable named The result is stored in the internal cache variable specified by
by ``<resultVar>``. Every subsequent CMake run will reuse this cached value ``<resultVar>``. Success of build and run is indicated by boolean ``true``.
rather than performing the check again, even if the ``<code>`` changes. In Failure to build or run is indicated by boolean ``false`` such as an empty
order to force the check to be re-evaluated, the variable named by string or an error message.
``<resultVar>`` must be manually removed from the cache.
See also :command:`check_source_runs` for a more general command syntax. See also :command:`check_source_runs` for a more general command syntax.

View File

@@ -18,12 +18,14 @@ subsequently be run.
check_source_runs(<lang> <code> <resultVar> check_source_runs(<lang> <code> <resultVar>
[SRC_EXT <extension>]) [SRC_EXT <extension>])
Check that the source supplied in ``<code>`` can be compiled as a source Check once that the ``<lang>`` source supplied in ``<code>`` can be built,
file for the requested language, linked as an executable and then run. linked as an executable, and then run. The ``<code>`` must contain at least
If the ``<code>`` could be built and run successfully, the internal cache variable a ``main()`` function, or in Fortran a ``program``.
specified by ``<resultVar>`` will be set to 1, otherwise it will be set to
a value that evaluates to boolean false (e.g. an empty string or an error The result is stored in the internal cache variable specified by
message). ``<resultVar>``. Success of build and run is indicated by boolean ``true``.
Failure to build or run is indicated by boolean ``false`` such as an empty
string or an error message.
By default, the test source file will be given a file extension that matches By default, the test source file will be given a file extension that matches
the requested language. The ``SRC_EXT`` option can be used to override this the requested language. The ``SRC_EXT`` option can be used to override this
@@ -47,12 +49,6 @@ subsequently be run.
end program" end program"
HAVE_COARRAY) HAVE_COARRAY)
The check is only performed once, with the result cached in the variable named
by ``<resultVar>``. Every subsequent CMake run will reuse this cached value
rather than performing the check again, even if the ``<code>`` changes. In
order to force the check to be re-evaluated, the variable named by
``<resultVar>`` must be manually removed from the cache.
The compile and link commands can be influenced by setting any of the The compile and link commands can be influenced by setting any of the
following variables prior to calling ``check_source_runs()`` following variables prior to calling ``check_source_runs()``