diff options
author | Brad King <brad.king@kitware.com> | 2018-12-06 14:03:52 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2018-12-06 14:03:58 (GMT) |
commit | d0e371f516085a8d744eaf3b24902c35a910528a (patch) | |
tree | 65af2c2699a240c3873a17f36bfc726c0811bad0 /Modules/CheckFortranFunctionExists.cmake | |
parent | 0464298956a204578aa8421ca0b84c089a97e0aa (diff) | |
parent | f266182aecb687f0c20c7fa7019ad0dde3222f46 (diff) | |
download | CMake-d0e371f516085a8d744eaf3b24902c35a910528a.zip CMake-d0e371f516085a8d744eaf3b24902c35a910528a.tar.gz CMake-d0e371f516085a8d744eaf3b24902c35a910528a.tar.bz2 |
Merge topic 'try-compile'
f266182aec Check* functions family: add support for LINK_OPTIONS
29f9db5c63 try_compile/try_run: Add support for LINK_OPTIONS option.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2661
Diffstat (limited to 'Modules/CheckFortranFunctionExists.cmake')
-rw-r--r-- | Modules/CheckFortranFunctionExists.cmake | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/Modules/CheckFortranFunctionExists.cmake b/Modules/CheckFortranFunctionExists.cmake index dc371aa..7ca205a 100644 --- a/Modules/CheckFortranFunctionExists.cmake +++ b/Modules/CheckFortranFunctionExists.cmake @@ -5,24 +5,33 @@ CheckFortranFunctionExists -------------------------- -:command:`Macro <macro>` which checks if a Fortran function exists. +Check if a Fortran function exists. -.. code-block:: cmake +.. command:: CHECK_FORTRAN_FUNCTION_EXISTS - CHECK_FORTRAN_FUNCTION_EXISTS(<function> <result>) + .. code-block:: cmake -where + CHECK_FORTRAN_FUNCTION_EXISTS(<function> <result>) -``<function>`` - the name of the Fortran function -``<result>`` - variable to store the result; will be created as an internal cache variable. + where + + ``<function>`` + the name of the Fortran function + ``<result>`` + variable to store the result; will be created as an internal cache variable. The following variables may be set before calling this macro to modify the way the check is run: +``CMAKE_REQUIRED_LINK_OPTIONS`` + A :ref:`;-list <CMake Language Lists>` of options to add to the link + command (see :command:`try_compile` for further details). + ``CMAKE_REQUIRED_LIBRARIES`` - list of libraries to link + A :ref:`;-list <CMake Language Lists>` of libraries to add to the link + command. These can be the name of system libraries or they can be + :ref:`Imported Targets <Imported Targets>` (see :command:`try_compile` for + further details). #]=======================================================================] include_guard(GLOBAL) @@ -30,6 +39,12 @@ include_guard(GLOBAL) macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE) if(NOT DEFINED ${VARIABLE}) message(STATUS "Looking for Fortran ${FUNCTION}") + if(CMAKE_REQUIRED_LINK_OPTIONS) + set(CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS + LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}) + else() + set(CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS) + endif() if(CMAKE_REQUIRED_LIBRARIES) set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) @@ -48,6 +63,7 @@ macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE) try_compile(${VARIABLE} ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f + ${CHECK_FUNCTION_EXISTS_ADD_LINK_OPTIONS} ${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES} OUTPUT_VARIABLE OUTPUT ) |