blob: df85718fbbdc539bdf00aab3f0f70b1267f2a841 [file] [edit]
set(configure_log "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/CMakeConfigureLog.yaml")
if (NOT EXISTS "${configure_log}")
set(RunCMake_TEST_FAILED "Configure log does not exist:\n ${configure_log}")
return ()
endif ()
set(force_fail 0)
set(want_varname 0)
file(STRINGS "${configure_log}" lines REGEX "(kind:|variable:)")
foreach (line IN LISTS lines)
if (line MATCHES "kind:")
string(REGEX REPLACE ".*\"([^\"]+)\".*" "\\1" kind "${line}")
if (kind MATCHES "try_")
set(force_fail 1)
set(want_varname 1)
endif ()
elseif (want_varname AND line MATCHES "variable:")
string(REGEX REPLACE ".*\"([^\"]+)\".*" "\\1" varname "${line}")
list(APPEND RunCMake_TEST_FAILED
"Found a `${kind}` event for `${varname}`")
set(want_varname 0)
endif ()
endforeach ()
if (force_fail AND NOT RunCMake_TEST_FAILED)
set(RunCMake_TEST_FAILED "Found a failing event, but not its variable. Forcing a failure. See ${configure_log}")
endif ()