summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake')
-rw-r--r--Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake64
1 files changed, 59 insertions, 5 deletions
diff --git a/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake b/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake
index 5c6a22d..88fd1e8 100644
--- a/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake
+++ b/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake
@@ -488,11 +488,65 @@ if(CMake_TEST_Qt_version)
"-D${QtX}Core_DIR=${${QtX}Core_DIR}"
"-DCMAKE_PREFIX_PATH:STRING=${CMAKE_PREFIX_PATH}"
)
- run_cmake_configure(QtX)
- unset(RunCMake_TEST_OPTIONS)
- include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
- run_cmake_build(QtX debug-in-release-graph Release exe:Debug)
+
+ foreach(use_better_graph IN ITEMS ON OFF)
+ foreach(target_config IN ITEMS Debug Release RelWithDebInfo)
+ foreach(ninja_config IN ITEMS Debug Release RelWithDebInfo)
+ block()
+ set(target_config_suffix "_${target_config}")
+ if (use_better_graph)
+ set(autogen_files_config_suffix "${target_config_suffix}")
+ else()
+ set(autogen_files_config_suffix "")
+ endif()
+ set(prefix "QtX")
+ set(case "${target_config}-in-${ninja_config}-better-graph-${use_better_graph}")
+ set(test_path "${prefix}-${case}")
+ set(RunCMake_TEST_VARIANT_DESCRIPTION "-${case}-configure")
+ set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${test_path}-build)
+ run_cmake_with_options(QtX ${RunCMake_TEST_OPTIONS}
+ "-DCMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG=${use_better_graph}")
+ unset(RunCMake_TEST_VARIANT_DESCRIPTION)
+ include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
+ run_cmake_build(${test_path} "" ${ninja_config} exe:${target_config})
+ check_files("${RunCMake_TEST_BINARY_DIR}"
+ INCLUDE
+ "${AUTOGEN_FILES${target_config_suffix}}"
+ "${TARGET_FILE_exe${target_config_suffix}}"
+ "${TARGET_OBJECT_FILES_exe${target_config_suffix}}"
+ )
+ if (DEFINED RunCMake_TEST_FAILED AND NOT RunCMake_TEST_FAILED STREQUAL "")
+ message(FATAL_ERROR "RunCMake_TEST_FAILED:${RunCMake_TEST_FAILED}")
+ else()
+ message(STATUS "${test_path}-check-files - PASSED")
+ endif()
+
+ check_file_contents("${RunCMake_TEST_BINARY_DIR}/exe_autogen/deps${autogen_files_config_suffix}"
+ "exe_autogen/timestamp${autogen_files_config_suffix}")
+ if (DEFINED RunCMake_TEST_FAILED AND NOT RunCMake_TEST_FAILED STREQUAL "")
+ message(FATAL_ERROR "RunCMake_TEST_FAILED:${RunCMake_TEST_FAILED}")
+ endif()
+ endblock()
+ endforeach()
+ endforeach()
+ endforeach()
+
if(CMake_TEST_${QtX}Core_Version VERSION_GREATER_EQUAL 5.15.0)
- run_ninja(QtX automoc-check build-Debug.ninja -t query exe_autogen/timestamp)
+ foreach(use_better_graph IN ITEMS ON OFF)
+ foreach(target_config IN ITEMS Debug Release RelWithDebInfo)
+ foreach(ninja_config IN ITEMS Debug Release RelWithDebInfo)
+ set(prefix "QtX")
+ set(case "${target_config}-in-${ninja_config}-better-graph-${use_better_graph}")
+ set(test_path "${prefix}-${case}")
+ if (use_better_graph)
+ set(autogen_files_config_suffix "_${target_config}")
+ else()
+ set(autogen_files_config_suffix "")
+ endif()
+ set(RunCMake_TEST_VARIANT_DESCRIPTION "-automoc-check")
+ run_ninja(${test_path} "" build-${ninja_config}.ninja -t query exe_autogen/timestamp${autogen_files_config_suffix})
+ endforeach()
+ endforeach()
+ endforeach()
endif()
endif()