mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
34 lines
1.1 KiB
CMake
34 lines
1.1 KiB
CMake
include(RunCMake)
|
|
|
|
# Isolate test cases from the caller's environment.
|
|
if(DEFINED ENV{CFLAGS})
|
|
string(REGEX REPLACE "-Werror[^ ]*" "" cflags "$ENV{CFLAGS}")
|
|
set(ENV{CFLAGS} "${cflags}")
|
|
endif()
|
|
if(DEFINED ENV{LDFLAGS})
|
|
string(REGEX REPLACE "-Wl,--fatal-warnings[^ ]*" "" ldflags "$ENV{LDFLAGS}")
|
|
set(ENV{LDFLAGS} "${ldflags}")
|
|
endif()
|
|
|
|
run_cmake(BadValue)
|
|
|
|
function(run_link_warn test)
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${test}-build)
|
|
set(RunCMake_TEST_OUTPUT_MERGE 1)
|
|
run_cmake_with_options(${test} ${ARGN})
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
if(ARGN MATCHES "--link-no-warning-as-error")
|
|
# Cause the build system to re-run CMake to verify that this option is preserved.
|
|
run_cmake_command(${test}-Touch ${CMAKE_COMMAND} -E touch_nocreate CMakeCache.txt)
|
|
endif()
|
|
run_cmake_command(${test}-Build ${CMAKE_COMMAND} --build . --verbose)
|
|
endfunction()
|
|
|
|
run_link_warn(WarnErrorOn1)
|
|
run_link_warn(WarnErrorOn2)
|
|
run_link_warn(WarnErrorOn3)
|
|
run_link_warn(WarnErrorOn4)
|
|
run_link_warn(WarnErrorOff1)
|
|
run_link_warn(WarnErrorOff2)
|
|
run_link_warn(WarnErrorOnIgnore "--link-no-warning-as-error")
|