Skip unnecessary commands when cross-building tools
Introduce a new macro qt_internal_return_unless_building_tools which simply calls return() if tools are not built. This macro is supposed to be called after qt_internal_add_tool(). Using this macro avoids having to special-case code for when qt_internal_add_tool() creates imported targets in cross-builds. Adjust pro2cmake accordingly. Task-number: QTBUG-85084 Change-Id: I9e1c455c29535dd8c318efa890ebd739c42effc1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
326d94e94b
commit
a0e56294c1
@ -441,6 +441,14 @@ function(qt_check_if_tools_will_be_built)
|
|||||||
set(QT_WILL_BUILD_TOOLS ${will_build_tools} CACHE INTERNAL "Are tools going to be built" FORCE)
|
set(QT_WILL_BUILD_TOOLS ${will_build_tools} CACHE INTERNAL "Are tools going to be built" FORCE)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
# Use this macro to exit a file or function scope unless we're building tools. This is supposed to
|
||||||
|
# be called after qt_internal_add_tools() to avoid special-casing operations on imported targets.
|
||||||
|
macro(qt_internal_return_unless_building_tools)
|
||||||
|
if(NOT QT_WILL_BUILD_TOOLS)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
# Equivalent of qmake's qtNomakeTools(directory1 directory2).
|
# Equivalent of qmake's qtNomakeTools(directory1 directory2).
|
||||||
# If QT_BUILD_TOOLS_BY_DEFAULT is true, then targets within the given directories will be excluded
|
# If QT_BUILD_TOOLS_BY_DEFAULT is true, then targets within the given directories will be excluded
|
||||||
# from the default 'all' target, as well as from install phase. The private variable is checked by
|
# from the default 'all' target, as well as from install phase. The private variable is checked by
|
||||||
|
@ -97,6 +97,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
Qt::CorePrivate
|
Qt::CorePrivate
|
||||||
QtLibraryInfo
|
QtLibraryInfo
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
|
|
||||||
# Add QMAKE_VERSION_STR only if qmake is part of the build.
|
# Add QMAKE_VERSION_STR only if qmake is part of the build.
|
||||||
target_compile_definitions(QtLibraryInfo PUBLIC
|
target_compile_definitions(QtLibraryInfo PUBLIC
|
||||||
|
@ -19,6 +19,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
INCLUDE_DIRECTORIES
|
INCLUDE_DIRECTORIES
|
||||||
../shared
|
../shared
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
set_target_properties(${target_name} PROPERTIES
|
set_target_properties(${target_name} PROPERTIES
|
||||||
WIN32_EXECUTABLE FALSE
|
WIN32_EXECUTABLE FALSE
|
||||||
)
|
)
|
||||||
|
@ -17,6 +17,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
Qt::Gui
|
Qt::Gui
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
set_target_properties(${target_name} PROPERTIES
|
set_target_properties(${target_name} PROPERTIES
|
||||||
WIN32_EXECUTABLE FALSE
|
WIN32_EXECUTABLE FALSE
|
||||||
)
|
)
|
||||||
|
@ -18,3 +18,4 @@ qt_internal_add_tool(${target_name}
|
|||||||
INCLUDE_DIRECTORIES
|
INCLUDE_DIRECTORIES
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
|
@ -34,6 +34,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
../../3rdparty/tinycbor/src
|
../../3rdparty/tinycbor/src
|
||||||
../shared
|
../shared
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:moc.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:moc.pro:<TRUE>:
|
||||||
# QMAKE_TARGET_DESCRIPTION = "Qt Meta Object Compiler"
|
# QMAKE_TARGET_DESCRIPTION = "Qt Meta Object Compiler"
|
||||||
|
@ -35,6 +35,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
# _LOADED = "qt_tool"
|
# _LOADED = "qt_tool"
|
||||||
# _OPTION = "host_build"
|
# _OPTION = "host_build"
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:qdbuscpp2xml.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:qdbuscpp2xml.pro:<TRUE>:
|
||||||
# QMAKE_TARGET_DESCRIPTION = "Qt D-Bus C++ to XML Compiler"
|
# QMAKE_TARGET_DESCRIPTION = "Qt D-Bus C++ to XML Compiler"
|
||||||
|
@ -22,6 +22,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
# _LOADED = "qt_tool"
|
# _LOADED = "qt_tool"
|
||||||
# _OPTION = "host_build"
|
# _OPTION = "host_build"
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:qdbusxml2cpp.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:qdbusxml2cpp.pro:<TRUE>:
|
||||||
# QMAKE_TARGET_DESCRIPTION = "Qt D-Bus XML to C++ Compiler"
|
# QMAKE_TARGET_DESCRIPTION = "Qt D-Bus XML to C++ Compiler"
|
||||||
|
@ -23,6 +23,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
Qt::Core # special case
|
Qt::Core # special case
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:qlalr.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:qlalr.pro:<TRUE>:
|
||||||
# OTHER_FILES = "lalr.g"
|
# OTHER_FILES = "lalr.g"
|
||||||
|
@ -15,6 +15,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
QT_NO_FOREACH
|
QT_NO_FOREACH
|
||||||
QTPATHS_VERSION_STR="2.0"
|
QTPATHS_VERSION_STR="2.0"
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
|
|
||||||
## Scopes:
|
## Scopes:
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
@ -14,6 +14,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
Qt::Core # special case
|
Qt::Core # special case
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:qvkgen.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:qvkgen.pro:<TRUE>:
|
||||||
# QMAKE_TARGET_DESCRIPTION = "Qt Vulkan Header Generator"
|
# QMAKE_TARGET_DESCRIPTION = "Qt Vulkan Header Generator"
|
||||||
|
@ -19,6 +19,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
INCLUDE_DIRECTORIES
|
INCLUDE_DIRECTORIES
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:rcc.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:rcc.pro:<TRUE>:
|
||||||
# QMAKE_TARGET_DESCRIPTION = "Qt Resource Compiler"
|
# QMAKE_TARGET_DESCRIPTION = "Qt Resource Compiler"
|
||||||
|
@ -18,6 +18,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
qtheaders.cpp qtheaders.h
|
qtheaders.cpp qtheaders.h
|
||||||
tracegen.cpp
|
tracegen.cpp
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:tracegen.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:tracegen.pro:<TRUE>:
|
||||||
# _OPTION = "host_build"
|
# _OPTION = "host_build"
|
||||||
|
@ -40,6 +40,7 @@ qt_internal_add_tool(${target_name}
|
|||||||
#PUBLIC_LIBRARIES # special case remove
|
#PUBLIC_LIBRARIES # special case remove
|
||||||
#Qt::Gui # special case remove
|
#Qt::Gui # special case remove
|
||||||
)
|
)
|
||||||
|
qt_internal_return_unless_building_tools()
|
||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:uic.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:uic.pro:<TRUE>:
|
||||||
# QMAKE_TARGET_DESCRIPTION = "Qt User Interface Compiler"
|
# QMAKE_TARGET_DESCRIPTION = "Qt User Interface Compiler"
|
||||||
|
@ -3246,6 +3246,9 @@ def write_main_part(
|
|||||||
# Footer:
|
# Footer:
|
||||||
cm_fh.write(f"{spaces(indent)})\n")
|
cm_fh.write(f"{spaces(indent)})\n")
|
||||||
|
|
||||||
|
if typename == "Tool":
|
||||||
|
cm_fh.write(f"{spaces(indent)}qt_internal_return_unless_building_tools()\n")
|
||||||
|
|
||||||
write_resources(cm_fh, name, scope, indent, target_ref=target_ref)
|
write_resources(cm_fh, name, scope, indent, target_ref=target_ref)
|
||||||
|
|
||||||
write_statecharts(cm_fh, name, scope, indent)
|
write_statecharts(cm_fh, name, scope, indent)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user