blob: 76ab617315fb64a7015b854f5e063584b995ef29 [file] [edit]
if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
file(GLOB ninja_files "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/impl-*.ninja")
else()
set(ninja_files "${RunCMake_TEST_BINARY_DIR}/build.ninja")
endif()
foreach(ninja_file IN LISTS ninja_files)
file(READ "${ninja_file}" ninja)
string(REGEX MATCHALL "build [^\n]*: CXX_COMPILER__runtime-module[^\n]*synth_[^\n]*\n( [^\n]*\n)*" rules "${ninja}")
set(runtimes)
foreach(rule IN LISTS rules)
if(rule MATCHES "-runtime-([A-Za-z]+)")
list(APPEND runtimes "${CMAKE_MATCH_1}")
else()
list(APPEND runtimes "empty")
endif()
endforeach()
set(expected MultiThreaded MultiThreadedDLL MultiThreadedDebug MultiThreadedDebugDLL empty)
list(SORT runtimes)
list(SORT expected)
if(NOT runtimes STREQUAL expected)
set(RunCMake_TEST_FAILED "Synthetic runtime selections in ${ninja_file}: '${runtimes}', expected '${expected}'")
return()
endif()
endforeach()