summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/qt-internal-configure-tests.in3
-rw-r--r--cmake/QtWrapperScriptHelpers.cmake32
-rw-r--r--coin/instructions/call_cmake_for_standalone_tests.yaml4
-rw-r--r--coin/instructions/cmake_build_and_upload_test_artifacts.yaml4
4 files changed, 39 insertions, 4 deletions
diff --git a/bin/qt-internal-configure-tests.in b/bin/qt-internal-configure-tests.in
new file mode 100755
index 0000000000..396cda7bf8
--- /dev/null
+++ b/bin/qt-internal-configure-tests.in
@@ -0,0 +1,3 @@
+@script_os_prelude@
+
+@qt_cmake_path@ @script_passed_args@
diff --git a/cmake/QtWrapperScriptHelpers.cmake b/cmake/QtWrapperScriptHelpers.cmake
index bf8205c46a..581fd3c6d8 100644
--- a/cmake/QtWrapperScriptHelpers.cmake
+++ b/cmake/QtWrapperScriptHelpers.cmake
@@ -108,4 +108,36 @@ function(qt_internal_create_wrapper_scripts)
"${QT_BUILD_DIR}/${INSTALL_BINDIR}/${__qt_cmake_install_script_name}" @ONLY)
qt_install(PROGRAMS "${QT_BUILD_DIR}/${INSTALL_BINDIR}/${__qt_cmake_install_script_name}"
DESTINATION "${INSTALL_BINDIR}")
+
+ qt_internal_create_qt_configure_tests_wrapper_script()
+endfunction()
+
+function(qt_internal_create_qt_configure_tests_wrapper_script)
+ # Create a private wrapper script to configure and build all standalone tests.
+ #
+ # The script uses qt-cmake instead of qt-cmake-private on purpose. That's to ensure we build
+ # only one configuration of tests (e.g RelWithDebInfo only) when Qt is configured with more
+ # than one configuration (RelWithDebInfo;Debug).
+ # Meant to be used by our CI instructions.
+ #
+ # The script takes a path to the repo for which the standalone tests will be configured.
+ set(script_name "qt-internal-configure-tests")
+ set(qt_cmake_path
+ "${QT_STAGING_PREFIX}/${INSTALL_BINDIR}/qt-cmake")
+
+ set(common_args "-DQT_BUILD_STANDALONE_TESTS=ON")
+ if(CMAKE_HOST_UNIX)
+ set(script_os_prelude "#!/bin/sh")
+ string(PREPEND qt_cmake_path "exec ")
+ set(script_passed_args "${common_args} \"$@\"")
+ else()
+ set(script_os_prelude "@echo off")
+ string(APPEND script_name ".bat")
+ string(APPEND qt_cmake_path ".bat")
+ set(script_passed_args "${common_args} %*")
+ endif()
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bin/qt-internal-configure-tests.in"
+ "${QT_BUILD_DIR}/${INSTALL_BINDIR}/${script_name}")
+ qt_install(PROGRAMS "${QT_BUILD_DIR}/${INSTALL_BINDIR}/${script_name}"
+ DESTINATION "${INSTALL_BINDIR}")
endfunction()
diff --git a/coin/instructions/call_cmake_for_standalone_tests.yaml b/coin/instructions/call_cmake_for_standalone_tests.yaml
index 8414ee44a1..501ab3abab 100644
--- a/coin/instructions/call_cmake_for_standalone_tests.yaml
+++ b/coin/instructions/call_cmake_for_standalone_tests.yaml
@@ -1,7 +1,7 @@
type: Group
instructions:
- type: ExecuteCommand
- command: "{{.Env.TESTS_ENV_PREFIX}} {{.Env.INSTALL_DIR_FOR_CMAKE_TESTS}}\\bin\\qt-cmake {{.Env.COIN_CMAKE_ARGS}}"
+ command: "{{.Env.TESTS_ENV_PREFIX}} {{.Env.INSTALL_DIR_FOR_CMAKE_TESTS}}\\bin\\qt-internal-configure-tests {{.Env.COIN_CMAKE_ARGS}}"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200
@@ -12,7 +12,7 @@ instructions:
property: host.os
equals_value: Windows
- type: ExecuteCommand
- command: "{{.Env.TESTS_ENV_PREFIX}} {{.Env.INSTALL_DIR_FOR_CMAKE_TESTS}}/bin/qt-cmake {{.Env.COIN_CMAKE_ARGS}}"
+ command: "{{.Env.TESTS_ENV_PREFIX}} {{.Env.INSTALL_DIR_FOR_CMAKE_TESTS}}/bin/qt-internal-configure-tests {{.Env.COIN_CMAKE_ARGS}}"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200
diff --git a/coin/instructions/cmake_build_and_upload_test_artifacts.yaml b/coin/instructions/cmake_build_and_upload_test_artifacts.yaml
index 1ed88ff7d5..84077980b8 100644
--- a/coin/instructions/cmake_build_and_upload_test_artifacts.yaml
+++ b/coin/instructions/cmake_build_and_upload_test_artifacts.yaml
@@ -10,14 +10,14 @@ instructions:
directory: "{{.BuildDir}}"
- type: AppendToEnvironmentVariable
variableName: COIN_CMAKE_ARGS
- variableValue: " -DQT_BUILD_STANDALONE_TESTS=ON -DCMAKE_AUTOGEN_VERBOSE=ON -S {{.SourceDir}} -B ."
+ variableValue: " -DCMAKE_AUTOGEN_VERBOSE=ON -S {{.SourceDir}} -B ."
disable_if:
condition: runtime
env_var: COIN_CMAKE_ARGS
equals_value: null
- type: EnvironmentVariable
variableName: COIN_CMAKE_ARGS
- variableValue: "-DQT_BUILD_STANDALONE_TESTS=ON -DCMAKE_AUTOGEN_VERBOSE=ON -S {{.SourceDir}} -B ."
+ variableValue: "-DCMAKE_AUTOGEN_VERBOSE=ON -S {{.SourceDir}} -B ."
enable_if:
condition: runtime
env_var: COIN_CMAKE_ARGS