diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2022-09-12 15:28:13 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2022-09-15 22:47:12 +0200 |
commit | 59e08d21058661d9972da4840a82e2bc80d02741 (patch) | |
tree | 8efd48487ecd83fc55abec0a1e8db9e97c3744ae /cmake | |
parent | 74083599f8b175e94789757e478a106ec03750d4 (diff) |
CMake: Add function to get tool wrapper shell script path
The _qt_internal_wrap_tool_command function has a limitation
that it is not possible to use it when a command needs to be wrapper
in a generator expression.
Provide a lower level API called
_qt_internal_get_tool_wrapper_script_path
to just get the path to the wrapper script, ensuring that the script
is created if needed.
Deprecate _qt_internal_wrap_tool_command, in favor of replacing it
with the new API.
Pick-to: 6.4
Task-number: QTBUG-90820
Task-number: QTBUG-96232
Change-Id: Ie4a4a17178bf2061ae01ee2b03b052d84560abf9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/QtBuild.cmake | 2 | ||||
-rw-r--r-- | cmake/QtPublicToolHelpers.cmake | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake index 29d3d5452a..a99bb20c4a 100644 --- a/cmake/QtBuild.cmake +++ b/cmake/QtBuild.cmake @@ -266,7 +266,7 @@ function(qt_setup_tool_path_command) list(APPEND command COMMAND) list(APPEND command set PATH=${bindir}$<SEMICOLON>%PATH%) set(QT_TOOL_PATH_SETUP_COMMAND "${command}" CACHE INTERNAL "internal command prefix for tool invocations" FORCE) - # QT_TOOL_PATH_SETUP_COMMAND is deprecated. Please use _qt_internal_wrap_tool_command + # QT_TOOL_PATH_SETUP_COMMAND is deprecated. Please use _qt_internal_get_wrap_tool_script_path # instead. endfunction() qt_setup_tool_path_command() diff --git a/cmake/QtPublicToolHelpers.cmake b/cmake/QtPublicToolHelpers.cmake index 8d047c9e66..2e39ff0498 100644 --- a/cmake/QtPublicToolHelpers.cmake +++ b/cmake/QtPublicToolHelpers.cmake @@ -113,6 +113,11 @@ endfunction() # Arguments: # APPEND Selects the 'append' mode for the out_variable argument. # SET Selects the 'set' mode for the out_variable argument. +# +# FIXME: Replace all usages of _qt_internal_wrap_tool_command +# with _qt_internal_get_wrap_tool_script_path and remove the former. +# The former always adds the COMMAND keyword, which does not allow the caller to wrap the +# commands in a generator expression. See _qt_internal_target_enable_qmllint for an example. function(_qt_internal_wrap_tool_command out_variable action) set(append FALSE) if(action STREQUAL "APPEND") @@ -133,3 +138,11 @@ function(_qt_internal_wrap_tool_command out_variable action) endif() set(${out_variable} "${${out_variable}}" PARENT_SCOPE) endfunction() + +# Gets the path to tool wrapper shell script. +function(_qt_internal_get_tool_wrapper_script_path out_variable) + # Ensure the script wrapper exists. + _qt_internal_generate_tool_command_wrapper() + + set(${out_variable} "${QT_TOOL_COMMAND_WRAPPER_PATH}" PARENT_SCOPE) +endfunction() |