summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-10-30 13:51:25 +0000
committerKitware Robot <kwrobot@kitware.com>2020-10-30 09:51:35 -0400
commit013c4133f79d0bd5e82254d0dfdfa42a6c8dfcc8 (patch)
treebbfc9735ed293420f5ed6b93b243d762333c5f67
parent604fa62c01cea3dd6a90790f89ce12e4f0f28259 (diff)
parenta524bf3aa712a783e24e9307cf8915310fb8613a (diff)
downloadcmake-013c4133f79d0bd5e82254d0dfdfa42a6c8dfcc8.tar.gz
Merge topic 'CheckSourceRuns-compatibility' into release-3.19
a524bf3aa7 CheckSourceRuns: do not fail on unrecognized arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5426
-rw-r--r--Modules/CheckCSourceRuns.cmake2
-rw-r--r--Modules/CheckCXXSourceRuns.cmake2
-rw-r--r--Modules/CheckOBJCSourceRuns.cmake2
-rw-r--r--Modules/CheckOBJCXXSourceRuns.cmake2
-rw-r--r--Modules/Internal/CheckSourceRuns.cmake7
-rw-r--r--Tests/RunCMake/CheckSourceRuns/UnknownArgument-stderr.txt15
-rw-r--r--Tests/RunCMake/CheckSourceRuns/UnknownArgument.cmake4
7 files changed, 31 insertions, 3 deletions
diff --git a/Modules/CheckCSourceRuns.cmake b/Modules/CheckCSourceRuns.cmake
index 258b1a06b2..a99e47e833 100644
--- a/Modules/CheckCSourceRuns.cmake
+++ b/Modules/CheckCSourceRuns.cmake
@@ -68,5 +68,7 @@ include_guard(GLOBAL)
include(Internal/CheckSourceRuns)
macro(CHECK_C_SOURCE_RUNS SOURCE VAR)
+ set(_CheckSourceRuns_old_signature 1)
cmake_check_source_runs(C "${SOURCE}" ${VAR} ${ARGN})
+ unset(_CheckSourceRuns_old_signature)
endmacro()
diff --git a/Modules/CheckCXXSourceRuns.cmake b/Modules/CheckCXXSourceRuns.cmake
index 246c873089..c8ff3d7bf5 100644
--- a/Modules/CheckCXXSourceRuns.cmake
+++ b/Modules/CheckCXXSourceRuns.cmake
@@ -68,5 +68,7 @@ include_guard(GLOBAL)
include(Internal/CheckSourceRuns)
macro(CHECK_CXX_SOURCE_RUNS SOURCE VAR)
+ set(_CheckSourceRuns_old_signature 1)
cmake_check_source_runs(CXX "${SOURCE}" ${VAR} ${ARGN})
+ unset(_CheckSourceRuns_old_signature)
endmacro()
diff --git a/Modules/CheckOBJCSourceRuns.cmake b/Modules/CheckOBJCSourceRuns.cmake
index 9894180872..dd03309936 100644
--- a/Modules/CheckOBJCSourceRuns.cmake
+++ b/Modules/CheckOBJCSourceRuns.cmake
@@ -70,5 +70,7 @@ include_guard(GLOBAL)
include(Internal/CheckSourceRuns)
macro(CHECK_OBJC_SOURCE_RUNS SOURCE VAR)
+ set(_CheckSourceRuns_old_signature 1)
cmake_check_source_runs(OBJC "${SOURCE}" ${VAR} ${ARGN})
+ unset(_CheckSourceRuns_old_signature)
endmacro()
diff --git a/Modules/CheckOBJCXXSourceRuns.cmake b/Modules/CheckOBJCXXSourceRuns.cmake
index 43d514fbe0..05a5e4cf59 100644
--- a/Modules/CheckOBJCXXSourceRuns.cmake
+++ b/Modules/CheckOBJCXXSourceRuns.cmake
@@ -70,5 +70,7 @@ include_guard(GLOBAL)
include(Internal/CheckSourceRuns)
macro(CHECK_OBJCXX_SOURCE_RUNS SOURCE VAR)
+ set(_CheckSourceRuns_old_signature 1)
cmake_check_source_runs(OBJCXX "${SOURCE}" ${VAR} ${ARGN})
+ unset(_CheckSourceRuns_old_signature)
endmacro()
diff --git a/Modules/Internal/CheckSourceRuns.cmake b/Modules/Internal/CheckSourceRuns.cmake
index c667245584..3a4b7583f9 100644
--- a/Modules/Internal/CheckSourceRuns.cmake
+++ b/Modules/Internal/CheckSourceRuns.cmake
@@ -51,7 +51,12 @@ function(CMAKE_CHECK_SOURCE_RUNS _lang _source _var)
set(_SRC_EXT "${arg}")
set(_key "")
else()
- message(FATAL_ERROR "Unknown argument:\n ${arg}\n")
+ set(message_type FATAL_ERROR)
+ if (_CheckSourceRuns_old_signature)
+ set(message_type AUTHOR_WARNING)
+ endif ()
+ message("${message_type}" "Unknown argument:\n ${arg}\n")
+ unset(message_type)
endif()
endforeach()
diff --git a/Tests/RunCMake/CheckSourceRuns/UnknownArgument-stderr.txt b/Tests/RunCMake/CheckSourceRuns/UnknownArgument-stderr.txt
index 9b576b5a22..6824e7264b 100644
--- a/Tests/RunCMake/CheckSourceRuns/UnknownArgument-stderr.txt
+++ b/Tests/RunCMake/CheckSourceRuns/UnknownArgument-stderr.txt
@@ -1,4 +1,17 @@
-^CMake Error at [^
+^CMake Warning \(dev\) at [^
+]*/Modules/Internal/CheckSourceRuns.cmake:[0-9]+ \(message\):
+ Unknown argument:
+
+ BAD
+
+Call Stack \(most recent call first\):
+ [^
+]*/Modules/CheckCSourceRuns.cmake:[0-9]+ \(cmake_check_source_runs\)
+ UnknownArgument.cmake:[0-9]+ \(check_c_source_runs\)
+ CMakeLists.txt:[0-9]+ \(include\)
+This warning is for project developers. Use -Wno-dev to suppress it.
+
+CMake Error at [^
]*/Modules/Internal/CheckSourceRuns.cmake:[0-9]+ \(message\):
Unknown argument:
diff --git a/Tests/RunCMake/CheckSourceRuns/UnknownArgument.cmake b/Tests/RunCMake/CheckSourceRuns/UnknownArgument.cmake
index 6e50fa7f9a..927a6b06a8 100644
--- a/Tests/RunCMake/CheckSourceRuns/UnknownArgument.cmake
+++ b/Tests/RunCMake/CheckSourceRuns/UnknownArgument.cmake
@@ -1,5 +1,7 @@
enable_language (C)
+include(CheckCSourceRuns)
include(CheckSourceRuns)
-check_source_runs(C "int main() {return 0;}" SHOULD_BUILD SRC_EXT C BAD)
+check_c_source_runs("int main() {return 0;}" C_SHOULD_BUILD BAD)
+check_source_runs(C "int main() {return 0;}" SHOULD_BUILD SRC_EXT c BAD)