diff options
author | Amir Masoud Abdol <amir.abdol@qt.io> | 2023-06-13 16:37:49 +0200 |
---|---|---|
committer | Amir Masoud Abdol <amir.abdol@qt.io> | 2023-06-15 11:46:00 +0000 |
commit | 69d74afd43adac796efb3ebb1f7e73da64010cb5 (patch) | |
tree | c8368eb5243c06029ec44105bfc5bf55ed3f6a7d | |
parent | f3c2cf47fc35262dee0c4732ada6f334009cabf3 (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.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 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 |