1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00

CheckSourceRuns: do not fail on unrecognized arguments

The old `check_X_source_runs` modules did not verify the arguments, so
we cannot start doing it now. Downgrade the hard error introduced in
commit 357e2ef429 (CheckSoureRuns: Add a unified way to check if a
source runs, 2020-09-14) via !5223 into a noisy warning.
This commit is contained in:
Ben Boeckel
2020-10-26 08:13:58 -04:00
parent 96ea613f16
commit a524bf3aa7
7 changed files with 31 additions and 3 deletions

View File

@@ -68,5 +68,7 @@ include_guard(GLOBAL)
include(Internal/CheckSourceRuns) include(Internal/CheckSourceRuns)
macro(CHECK_C_SOURCE_RUNS SOURCE VAR) macro(CHECK_C_SOURCE_RUNS SOURCE VAR)
set(_CheckSourceRuns_old_signature 1)
cmake_check_source_runs(C "${SOURCE}" ${VAR} ${ARGN}) cmake_check_source_runs(C "${SOURCE}" ${VAR} ${ARGN})
unset(_CheckSourceRuns_old_signature)
endmacro() endmacro()

View File

@@ -68,5 +68,7 @@ include_guard(GLOBAL)
include(Internal/CheckSourceRuns) include(Internal/CheckSourceRuns)
macro(CHECK_CXX_SOURCE_RUNS SOURCE VAR) macro(CHECK_CXX_SOURCE_RUNS SOURCE VAR)
set(_CheckSourceRuns_old_signature 1)
cmake_check_source_runs(CXX "${SOURCE}" ${VAR} ${ARGN}) cmake_check_source_runs(CXX "${SOURCE}" ${VAR} ${ARGN})
unset(_CheckSourceRuns_old_signature)
endmacro() endmacro()

View File

@@ -70,5 +70,7 @@ include_guard(GLOBAL)
include(Internal/CheckSourceRuns) include(Internal/CheckSourceRuns)
macro(CHECK_OBJC_SOURCE_RUNS SOURCE VAR) macro(CHECK_OBJC_SOURCE_RUNS SOURCE VAR)
set(_CheckSourceRuns_old_signature 1)
cmake_check_source_runs(OBJC "${SOURCE}" ${VAR} ${ARGN}) cmake_check_source_runs(OBJC "${SOURCE}" ${VAR} ${ARGN})
unset(_CheckSourceRuns_old_signature)
endmacro() endmacro()

View File

@@ -70,5 +70,7 @@ include_guard(GLOBAL)
include(Internal/CheckSourceRuns) include(Internal/CheckSourceRuns)
macro(CHECK_OBJCXX_SOURCE_RUNS SOURCE VAR) macro(CHECK_OBJCXX_SOURCE_RUNS SOURCE VAR)
set(_CheckSourceRuns_old_signature 1)
cmake_check_source_runs(OBJCXX "${SOURCE}" ${VAR} ${ARGN}) cmake_check_source_runs(OBJCXX "${SOURCE}" ${VAR} ${ARGN})
unset(_CheckSourceRuns_old_signature)
endmacro() endmacro()

View File

@@ -51,7 +51,12 @@ function(CMAKE_CHECK_SOURCE_RUNS _lang _source _var)
set(_SRC_EXT "${arg}") set(_SRC_EXT "${arg}")
set(_key "") set(_key "")
else() 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() endif()
endforeach() endforeach()

View File

@@ -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\): ]*/Modules/Internal/CheckSourceRuns.cmake:[0-9]+ \(message\):
Unknown argument: Unknown argument:

View File

@@ -1,5 +1,7 @@
enable_language (C) enable_language (C)
include(CheckCSourceRuns)
include(CheckSourceRuns) 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)