summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmir Masoud Abdol <amir.abdol@qt.io>2023-06-13 16:37:49 +0200
committerAmir Masoud Abdol <amir.abdol@qt.io>2023-06-15 11:46:00 +0000
commit69d74afd43adac796efb3ebb1f7e73da64010cb5 (patch)
treec8368eb5243c06029ec44105bfc5bf55ed3f6a7d
parentf3c2cf47fc35262dee0c4732ada6f334009cabf3 (diff)
Add TRY_RUN_FLAGS argument to customize the TRY_RUN command
Some of our tools don't have the `-h`, or `-v` flag, or it could be that the `-v` flag also prints the entire `--help` as well, e.g., `androiddeployqt`. When running in Jenkins, this may lead to a message box being shown and consequently stopping the build. By customizing the flag per tool, and limiting the TRY_RUN to tools that support `-v` or `--version`, we can avoid this. Also removed TRY_RUN from `macdeployqt` which doesn't need it anyway. Amend 41b32cd2c4706fa280fc779d5dec132ee9edf0f6 Pick-to: 6.5.2 6.5 6.6 Fixes: QTBUG-114530 Change-Id: I78e3344d2553c0050c285ae86f2310bd373c6c57 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r--cmake/QtToolHelpers.cmake13
-rw-r--r--src/tools/androiddeployqt/CMakeLists.txt1
-rw-r--r--src/tools/androidtestrunner/CMakeLists.txt1
-rw-r--r--src/tools/cmake_automoc_parser/CMakeLists.txt1
-rw-r--r--src/tools/macdeployqt/macdeployqt/CMakeLists.txt1
-rw-r--r--src/tools/qdbuscpp2xml/CMakeLists.txt1
-rw-r--r--src/tools/qlalr/CMakeLists.txt1
-rw-r--r--src/tools/qvkgen/CMakeLists.txt1
-rw-r--r--src/tools/tracegen/CMakeLists.txt1
-rw-r--r--src/tools/tracepointgen/CMakeLists.txt1
-rw-r--r--src/tools/windeployqt/CMakeLists.txt1
11 files changed, 11 insertions, 12 deletions
diff --git a/cmake/QtToolHelpers.cmake b/cmake/QtToolHelpers.cmake
index 21c608e304..ac46687fb9 100644
--- a/cmake/QtToolHelpers.cmake
+++ b/cmake/QtToolHelpers.cmake
@@ -19,6 +19,9 @@
# On Windows, it creates a helper batch script that tests whether the tool can be executed
# successfully or not. If not, build halts and an error will be show, with tips on what
# might be cause, and how to fix it.
+# TRY_RUN_FLAGS
+# Command line flags that are going to be passed to the tool for testing its correctness.
+# If no flags were given, we default to `-v`.
#
# One-value Arguments:
# EXTRA_CMAKE_FILES
@@ -52,6 +55,7 @@ function(qt_internal_add_tool target_name)
TOOLS_TARGET
INSTALL_DIR
CORE_LIBRARY
+ TRY_RUN_FLAGS
${__default_target_info_args})
set(multi_value_keywords
EXTRA_CMAKE_FILES
@@ -230,14 +234,17 @@ function(qt_internal_add_tool target_name)
endif()
if(arg_TRY_RUN AND WIN32)
- _qt_internal_add_try_run_post_build(${target_name})
+ if(NOT arg_TRY_RUN_FLAGS)
+ set(arg_TRY_RUN_FLAGS "-v")
+ endif()
+ _qt_internal_add_try_run_post_build("${target_name}" "${arg_TRY_RUN_FLAGS}")
endif()
qt_enable_separate_debug_info(${target_name} "${install_dir}" QT_EXECUTABLE)
qt_internal_install_pdb_files(${target_name} "${install_dir}")
endfunction()
-function(_qt_internal_add_try_run_post_build target)
+function(_qt_internal_add_try_run_post_build target try_run_flags)
qt_internal_get_upper_case_main_cmake_configuration(main_cmake_configuration)
get_target_property(target_out_dir ${target}
RUNTIME_OUTPUT_DIRECTORY_${main_cmake_configuration})
@@ -251,7 +258,7 @@ function(_qt_internal_add_try_run_post_build target)
qt_configure_file(OUTPUT "${try_run_scripts_path}"
CONTENT "@echo off
-${target_out_dir}/${target}.exe -h > nul 2>&1
+${target_out_dir}/${target}.exe ${try_run_flags} > nul 2>&1
if \"%errorlevel%\" == \"-1073741515\" (
echo
diff --git a/src/tools/androiddeployqt/CMakeLists.txt b/src/tools/androiddeployqt/CMakeLists.txt
index 65e072b6fb..2a0f1ae9af 100644
--- a/src/tools/androiddeployqt/CMakeLists.txt
+++ b/src/tools/androiddeployqt/CMakeLists.txt
@@ -7,7 +7,6 @@
qt_get_tool_target_name(target_name androiddeployqt)
qt_internal_add_tool(${target_name}
- TRY_RUN
TARGET_DESCRIPTION "Qt Android Deployment Tool"
TOOLS_TARGET Core
USER_FACING
diff --git a/src/tools/androidtestrunner/CMakeLists.txt b/src/tools/androidtestrunner/CMakeLists.txt
index 45b23a95f3..77157e29a3 100644
--- a/src/tools/androidtestrunner/CMakeLists.txt
+++ b/src/tools/androidtestrunner/CMakeLists.txt
@@ -7,7 +7,6 @@
qt_get_tool_target_name(target_name androidtestrunner)
qt_internal_add_tool(${target_name}
- TRY_RUN
TARGET_DESCRIPTION "Qt Android Test Runner Tool"
TOOLS_TARGET Core
SOURCES
diff --git a/src/tools/cmake_automoc_parser/CMakeLists.txt b/src/tools/cmake_automoc_parser/CMakeLists.txt
index e0ce0e65d1..a58c9c9ff1 100644
--- a/src/tools/cmake_automoc_parser/CMakeLists.txt
+++ b/src/tools/cmake_automoc_parser/CMakeLists.txt
@@ -7,7 +7,6 @@
qt_get_tool_target_name(target_name cmake_automoc_parser)
qt_internal_add_tool(${target_name}
- TRY_RUN
CORE_LIBRARY Bootstrap
TARGET_DESCRIPTION "Qt CMake AUTOMOC Parser"
INSTALL_DIR "${INSTALL_LIBEXECDIR}"
diff --git a/src/tools/macdeployqt/macdeployqt/CMakeLists.txt b/src/tools/macdeployqt/macdeployqt/CMakeLists.txt
index d1597d5c09..5c50fe7de0 100644
--- a/src/tools/macdeployqt/macdeployqt/CMakeLists.txt
+++ b/src/tools/macdeployqt/macdeployqt/CMakeLists.txt
@@ -7,7 +7,6 @@
qt_get_tool_target_name(target_name macdeployqt)
qt_internal_add_tool(${target_name}
- TRY_RUN
TOOLS_TARGET Core
USER_FACING
INSTALL_VERSIONED_LINK
diff --git a/src/tools/qdbuscpp2xml/CMakeLists.txt b/src/tools/qdbuscpp2xml/CMakeLists.txt
index 20a2d497d7..781c1835bc 100644
--- a/src/tools/qdbuscpp2xml/CMakeLists.txt
+++ b/src/tools/qdbuscpp2xml/CMakeLists.txt
@@ -8,6 +8,7 @@
qt_get_tool_target_name(target_name qdbuscpp2xml)
qt_internal_add_tool(${target_name}
TRY_RUN
+ TRY_RUN_FLAGS "-V"
TARGET_DESCRIPTION "Qt D-Bus C++ to XML Compiler"
TOOLS_TARGET DBus
SOURCES
diff --git a/src/tools/qlalr/CMakeLists.txt b/src/tools/qlalr/CMakeLists.txt
index 04154d3cbf..f6e2077ef4 100644
--- a/src/tools/qlalr/CMakeLists.txt
+++ b/src/tools/qlalr/CMakeLists.txt
@@ -7,7 +7,6 @@
qt_get_tool_target_name(target_name qlalr)
qt_internal_add_tool(${target_name}
- TRY_RUN
TARGET_DESCRIPTION "Qt Look Ahead LR Parser Generator"
INSTALL_DIR "${INSTALL_LIBEXECDIR}"
TOOLS_TARGET Core
diff --git a/src/tools/qvkgen/CMakeLists.txt b/src/tools/qvkgen/CMakeLists.txt
index a29094c953..0f68968fd3 100644
--- a/src/tools/qvkgen/CMakeLists.txt
+++ b/src/tools/qvkgen/CMakeLists.txt
@@ -7,7 +7,6 @@
qt_get_tool_target_name(target_name qvkgen)
qt_internal_add_tool(${target_name}
- TRY_RUN
TARGET_DESCRIPTION "Qt Vulkan Header Generator"
INSTALL_DIR "${INSTALL_LIBEXECDIR}"
TOOLS_TARGET Gui
diff --git a/src/tools/tracegen/CMakeLists.txt b/src/tools/tracegen/CMakeLists.txt
index 8139c4c446..f5f6b2e184 100644
--- a/src/tools/tracegen/CMakeLists.txt
+++ b/src/tools/tracegen/CMakeLists.txt
@@ -7,7 +7,6 @@
qt_get_tool_target_name(target_name tracegen)
qt_internal_add_tool(${target_name}
- TRY_RUN
CORE_LIBRARY Bootstrap
INSTALL_DIR "${INSTALL_LIBEXECDIR}"
TOOLS_TARGET Core
diff --git a/src/tools/tracepointgen/CMakeLists.txt b/src/tools/tracepointgen/CMakeLists.txt
index bbc4bd4cad..2f473d376a 100644
--- a/src/tools/tracepointgen/CMakeLists.txt
+++ b/src/tools/tracepointgen/CMakeLists.txt
@@ -7,7 +7,6 @@
qt_get_tool_target_name(target_name tracepointgen)
qt_internal_add_tool(${target_name}
- TRY_RUN
CORE_LIBRARY Bootstrap
INSTALL_DIR "${INSTALL_LIBEXECDIR}"
TOOLS_TARGET Core
diff --git a/src/tools/windeployqt/CMakeLists.txt b/src/tools/windeployqt/CMakeLists.txt
index fdf69c98d1..715c008831 100644
--- a/src/tools/windeployqt/CMakeLists.txt
+++ b/src/tools/windeployqt/CMakeLists.txt
@@ -7,7 +7,6 @@
qt_get_tool_target_name(target_name windeployqt)
qt_internal_add_tool(${target_name}
- TRY_RUN
TOOLS_TARGET Core
USER_FACING
INSTALL_VERSIONED_LINK