CheckFortran.cmake
Go to the documentation of this file.
1 # SPDX-FileCopyrightText: Copyright (c) 2009 Kitware Inc.
2 # SPDX-License-Identifier: BSD-3-Clause
4  if (DEFINED CMAKE_Fortran_COMPILER)
5  return ()
6  endif ()
7 
8  set(_desc "Looking for a Fortran compiler")
9  message(STATUS "${_desc}")
10  file(REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CheckFortran")
11  file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CheckFortran/CMakeLists.txt"
12  "cmake_minimum_required(VERSION 3.3)
13 project(CheckFortran Fortran)
14 file(WRITE \"\${CMAKE_CURRENT_BINARY_DIR}/result.cmake\"
15 \"set(CMAKE_Fortran_COMPILER \\\"\${CMAKE_Fortran_COMPILER}\\\")\\n\"
16 \"set(CMAKE_Fortran_FLAGS \\\"\${CMAKE_Fortran_FLAGS}\\\")\\n\")\n")
17  execute_process(
18  WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CheckFortran"
19  COMMAND "${CMAKE_COMMAND}" . -G "${CMAKE_GENERATOR}"
20  OUTPUT_VARIABLE output
21  ERROR_VARIABLE output
22  RESULT_VARIABLE result)
23  include("${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CheckFortran/result.cmake" OPTIONAL)
24  if (CMAKE_Fortran_COMPILER AND NOT result)
25  file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log"
26  "${_desc} passed with the following output:\n"
27  "${output}\n")
28  else ()
29  set(CMAKE_Fortran_COMPILER NOTFOUND)
30  file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
31  "${_desc} failed with the following output:\n"
32  "${output}\n")
33  endif ()
34  message(STATUS "${_desc} - ${CMAKE_Fortran_COMPILER}")
35  set(CMAKE_Fortran_COMPILER "${CMAKE_Fortran_COMPILER}" CACHE FILEPATH "Fortran compiler")
36  mark_as_advanced(CMAKE_Fortran_COMPILER)
37  set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}" CACHE STRING "Fortran flags")
38  mark_as_advanced(CMAKE_Fortran_FLAGS)
39 endfunction ()
function check_fortran_support()
#define VERSION
Definition: jconfigint.h:17