diff options
author | Amir Masoud Abdol <[email protected]> | 2023-06-13 16:37:49 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <[email protected]> | 2023-06-16 21:03:57 +0000 |
commit | dd5f4570a78c5ff10fe3e8a5dc60e34d7222f114 (patch) | |
tree | 9bff860b329af01f8a24433139611de145bdffbf | |
parent | b691cd35df0e71d2506e1d825d05c129faab01ac (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
Fixes: QTBUG-114530
Change-Id: I78e3344d2553c0050c285ae86f2310bd373c6c57
Reviewed-by: Joerg Bornemann <[email protected]>
(cherry picked from commit 69d74afd43adac796efb3ebb1f7e73da64010cb5)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
-rw-r--r-- | cmake/QtToolHelpers.cmake | 13 | ||||
-rw-r--r-- | src/tools/androiddeployqt/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/tools/androidtestrunner/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/tools/cmake_automoc_parser/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/tools/macdeployqt/macdeployqt/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/tools/qdbuscpp2xml/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/tools/qlalr/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/tools/qvkgen/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/tools/tracegen/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/tools/tracepointgen/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/tools/windeployqt/CMakeLists.txt | 1 |
11 files changed, 11 insertions, 12 deletions
diff --git a/cmake/QtToolHelpers.cmake b/cmake/QtToolHelpers.cmake index 21c608e3047..ac46687fb9b 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 65e072b6fb3..2a0f1ae9aff 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 45b23a95f38..77157e29a3e 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 e0ce0e65d1e..a58c9c9ff17 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 d1597d5c09d..5c50fe7de0a 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 20a2d497d7a..781c1835bc2 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 04154d3cbfe..f6e2077ef4b 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 a29094c9530..0f68968fd33 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 8139c4c446d..f5f6b2e1842 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 bbc4bd4cad4..2f473d376af 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 fdf69c98d1c..715c008831d 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 |