summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Modules/CheckFortranSourceCompiles.cmake4
-rw-r--r--Modules/CheckFortranSourceRuns.cmake4
-rw-r--r--Modules/CheckSourceCompiles.cmake9
-rw-r--r--Modules/CheckSourceRuns.cmake11
4 files changed, 19 insertions, 9 deletions
diff --git a/Modules/CheckFortranSourceCompiles.cmake b/Modules/CheckFortranSourceCompiles.cmake
index 2bcc34310f..169b8293c0 100644
--- a/Modules/CheckFortranSourceCompiles.cmake
+++ b/Modules/CheckFortranSourceCompiles.cmake
@@ -90,5 +90,7 @@ include_guard(GLOBAL)
include(CheckSourceCompiles)
macro(CHECK_Fortran_SOURCE_COMPILES SOURCE VAR)
- check_source_compiles(Fortran "${SOURCE}" ${VAR} ${ARGN})
+ # Pass the SRC_EXT we used by default historically.
+ # A user-provided SRC_EXT argument in ARGN will override ours.
+ check_source_compiles(Fortran "${SOURCE}" ${VAR} SRC_EXT "F" ${ARGN})
endmacro()
diff --git a/Modules/CheckFortranSourceRuns.cmake b/Modules/CheckFortranSourceRuns.cmake
index 29f4a98536..52767098b6 100644
--- a/Modules/CheckFortranSourceRuns.cmake
+++ b/Modules/CheckFortranSourceRuns.cmake
@@ -86,5 +86,7 @@ include_guard(GLOBAL)
include(CheckSourceRuns)
macro(CHECK_Fortran_SOURCE_RUNS SOURCE VAR)
- check_source_runs(Fortran "${SOURCE}" ${VAR} ${ARGN})
+ # Pass the SRC_EXT we used by default historically.
+ # A user-provided SRC_EXT argument in ARGN will override ours.
+ check_source_runs(Fortran "${SOURCE}" ${VAR} SRC_EXT "F90" ${ARGN})
endmacro()
diff --git a/Modules/CheckSourceCompiles.cmake b/Modules/CheckSourceCompiles.cmake
index 08fc153499..4ed9a5c08a 100644
--- a/Modules/CheckSourceCompiles.cmake
+++ b/Modules/CheckSourceCompiles.cmake
@@ -94,7 +94,7 @@ function(CHECK_SOURCE_COMPILES _lang _source _var)
set(_lang_ext "cu")
elseif(_lang STREQUAL Fortran)
set(_lang_textual "Fortran")
- set(_lang_ext "F")
+ set(_lang_ext "F90")
elseif(_lang STREQUAL ISPC)
set(_lang_textual "ISPC")
set(_lang_ext "ispc")
@@ -121,8 +121,11 @@ function(CHECK_SOURCE_COMPILES _lang _source _var)
foreach(arg ${ARGN})
if("${arg}" MATCHES "^(FAIL_REGEX|SRC_EXT)$")
set(_key "${arg}")
- elseif(_key)
- list(APPEND _${_key} "${arg}")
+ elseif(_key STREQUAL "FAIL_REGEX")
+ list(APPEND _FAIL_REGEX "${arg}")
+ elseif(_key STREQUAL "SRC_EXT")
+ set(_SRC_EXT "${arg}")
+ set(_key "")
else()
message(FATAL_ERROR "Unknown argument:\n ${arg}\n")
endif()
diff --git a/Modules/CheckSourceRuns.cmake b/Modules/CheckSourceRuns.cmake
index 20f3e1e09f..033793dfb8 100644
--- a/Modules/CheckSourceRuns.cmake
+++ b/Modules/CheckSourceRuns.cmake
@@ -92,7 +92,7 @@ function(CHECK_SOURCE_RUNS _lang _source _var)
set(_lang_ext "cu")
elseif(_lang STREQUAL Fortran)
set(_lang_textual "Fortran")
- set(_lang_ext "F")
+ set(_lang_ext "F90")
elseif(_lang STREQUAL OBJC)
set(_lang_textual "Objective-C")
set(_lang_ext "m")
@@ -114,10 +114,13 @@ function(CHECK_SOURCE_RUNS _lang _source _var)
set(_SRC_EXT)
set(_key)
foreach(arg ${ARGN})
- if("${arg}" MATCHES "^(SRC_EXT)$")
+ if("${arg}" MATCHES "^(FAIL_REGEX|SRC_EXT)$")
set(_key "${arg}")
- elseif(_key)
- list(APPEND _${_key} "${arg}")
+ elseif(_key STREQUAL "FAIL_REGEX")
+ list(APPEND _FAIL_REGEX "${arg}")
+ elseif(_key STREQUAL "SRC_EXT")
+ set(_SRC_EXT "${arg}")
+ set(_key "")
else()
message(FATAL_ERROR "Unknown argument:\n ${arg}\n")
endif()