CheckFortranFunctionExists¶
This module provides a command to check whether a Fortran function exists.
Load this module in a CMake project with:
include(CheckFortranFunctionExists)
Commands¶
This module provides the following command:
- check_fortran_function_exists¶
Checks once whether a Fortran function exists:
check_fortran_function_exists(<function> <variable>)
<function>
The name of the Fortran function.
<variable>
The name of the variable in which to store the check result. This variable will be created as an internal cache variable.
Note
This command does not detect functions provided by Fortran modules. In general, it is recommended to use
CheckSourceCompiles
instead to determine whether a Fortran function or subroutine is available.Variables Affecting the Check
The following variables may be set before calling this command to modify the way the check is run:
CMAKE_REQUIRED_LINK_OPTIONS
Added in version 3.14.
A semicolon-separated list of options to add to the link command (see
try_compile()
for further details).
CMAKE_REQUIRED_LIBRARIES
A semicolon-separated list of libraries to add to the link command. These can be the names of system libraries, or they can be Imported Targets (see
try_compile()
for further details).
CMAKE_REQUIRED_LINK_DIRECTORIES
Added in version 3.31.
A semicolon-separated list of library search paths to pass to the linker (see
try_compile()
for further details).
Examples¶
Example: Isolated Check With Linked Libraries¶
In the following example, this module is used in combination with the
CMakePushCheckState
module to temporarily modify the required
linked libraries (via CMAKE_REQUIRED_LIBRARIES
) and verify whether the
Fortran function dgesv
is available for linking. The result is stored
in the internal cache variable PROJECT_HAVE_DGESV
:
include(CheckFortranFunctionExists)
include(CMakePushCheckState)
find_package(LAPACK)
if(TARGET LAPACK::LAPACK)
cmake_push_check_state(RESET)
set(CMAKE_REQUIRED_LIBRARIES LAPACK::LAPACK)
check_fortran_function_exists(dgesv PROJECT_HAVE_DGESV)
cmake_pop_check_state()
endif()
See Also¶
The
CheckFunctionExists
module to check whether a C function exists.The
CheckSourceCompiles
module to check whether source code can be compiled.