mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-24 07:08:38 -05:00
try_compile: Honor CMAKE_WARN_DEPRECATED in test project
This causes the `-Wno-deprecated` option to be honored even inside a `try_compile` test project, which is needed to suppress all deprecation warnings as the option documents. Closes: #16446
This commit is contained in:
@@ -18,6 +18,7 @@ run_cmake(NonSourceCompileDefinitions)
|
||||
|
||||
set(RunCMake_TEST_OPTIONS --debug-trycompile)
|
||||
run_cmake(PlatformVariables)
|
||||
run_cmake(WarnDeprecated)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
|
||||
run_cmake(TargetTypeExe)
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
enable_language(C)
|
||||
|
||||
set(CMAKE_WARN_DEPRECATED SOME_VALUE)
|
||||
|
||||
try_compile(result ${CMAKE_CURRENT_BINARY_DIR}
|
||||
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src.c
|
||||
OUTPUT_VARIABLE out
|
||||
)
|
||||
if(NOT result)
|
||||
message(FATAL_ERROR "try_compile failed:\n${out}")
|
||||
endif()
|
||||
|
||||
# Check that the cache was populated with our custom variable.
|
||||
file(STRINGS ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CMakeCache.txt entries
|
||||
REGEX CMAKE_WARN_DEPRECATED:UNINITIALIZED=${CMAKE_WARN_DEPRECATED}
|
||||
)
|
||||
if(NOT entries)
|
||||
message(FATAL_ERROR "try_compile did not populate cache as expected")
|
||||
endif()
|
||||
Reference in New Issue
Block a user