Re-order the sub-dirs to catch real culprits before things they break

A failure in testlib is apt to imply misleading failures elsewhere, so
catch those first. Likewise, broken tools or corelib break
everything. Put the rest of the list in alphabetic order.

Restructure auto.pro to use conditional SUBDIRS += (in the right
order) instead of setting SUBDIRS to a full list and then doing
conditional SUBDIRS -= for most entries. This more closely matches the
way the generated cmake config does things, although it still doesn't
regenerate cleanly.

Change-Id: Idc15326c3534eb4fdce55394269f2dfbc17fcd99
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
bb10
Edward Welbourne 2018-11-07 15:20:47 +01:00
parent 4eba90c922
commit 1673e66047
3 changed files with 100 additions and 64 deletions

View File

@ -0,0 +1,41 @@
# Generated from auto.pro.
add_subdirectory(testlib)
add_subdirectory(other)
if(UIKIT)
add_subdirectory(corelib)
endif()
if(TARGET Qt::Gui)
add_subdirectory(gui)
endif()
if(QT_FEATURE_process AND NOT CMAKE_CROSSCOMPILING)
add_subdirectory(tools)
endif()
if(NOT CMAKE_CROSSCOMPILING)
add_subdirectory(cmake)
add_subdirectory(installed_cmake)
endif()
if(TARGET Qt::Concurrent)
add_subdirectory(concurrent)
endif()
if((((TARGET Qt::DBus AND NOT CMAKE_CROSSCOMPILING AND NOT boot2qt) AND (system("dbus-send --session --type=signal / local.AutotestCheck.Hello >_ss_QMAKE_SYSTEM_NULL_DEVICE 2>&1")))))
add_subdirectory(dbus)
endif()
if(TARGET Qt::Network AND NOT WINRT)
add_subdirectory(network)
endif()
if(TARGET Qt::OpenGL AND NOT WINRT)
add_subdirectory(opengl)
endif()
if(TARGET Qt::PrintSupport)
add_subdirectory(printsupport)
endif()
if(TARGET Qt::Sql)
add_subdirectory(sql)
endif()
if(TARGET Qt::Widgets)
add_subdirectory(widgets)
endif()
if(TARGET Qt::Xml)
add_subdirectory(xml)
endif()

View File

@ -1,6 +1,27 @@
# Generated from auto.pro.
# special case begin
# Order by dependency [*], then alphabetic. [*] If bugs in part A of
# our source would break tests of part B, then test A before B.
# Build only corelib and gui tests when targeting uikit (iOS),
# because the script can't handle the SUBDIRS assignment well.
if (UIKIT)
add_subdirectory(corelib)
if (TARGET Qt::Gui)
add_subdirectory(gui)
endif()
return()
endif()
add_subdirectory(testlib)
if (NOT CMAKE_CROSSCOMPILE AND QT_FEATURE_process)
add_subdirectory(tools)
endif()
add_subdirectory(corelib)
# add_subdirectory(cmake) ## FIXME: Does this still make sense in this form?
if (TARGET Qt::Concurrent)
add_subdirectory(concurrent)
endif()
if (QT_FEATURE_dbus)
set(run_dbus_tests ON)
if(NOT CMAKE_CROSSCOMPILING AND TARGET Qt::DBus)
@ -24,43 +45,29 @@ if (QT_FEATURE_dbus)
add_subdirectory(dbus)
endif()
endif()
if (TARGET Qt::Gui)
add_subdirectory(gui)
endif()
# special case begin
# Build only corelib and gui tests when targeting uikit (iOS),
# because the script can't handle the SUBDIRS assignment well.
if (UIKIT)
return()
endif()
# special case end
if (TARGET Qt::Network AND NOT WINRT)
add_subdirectory(network)
endif()
if (TARGET Qt::OpenGL AND NOT WINRT)
add_subdirectory(opengl)
endif()
if (TARGET Qt::PrintSupport)
add_subdirectory(printsupport)
endif()
if (TARGET Qt::Sql)
add_subdirectory(sql)
endif()
add_subdirectory(testlib)
if (NOT CMAKE_CROSSCOMPILE AND QT_FEATURE_process)
add_subdirectory(tools)
if (TARGET Qt::Widgets)
add_subdirectory(widgets)
endif()
if (TARGET Qt::Xml)
add_subdirectory(xml)
endif()
if (TARGET Qt::Concurrent)
add_subdirectory(concurrent)
endif()
add_subdirectory(other)
if (TARGET Qt::Widgets)
add_subdirectory(widgets)
endif()
if (TARGET Qt::PrintSupport)
add_subdirectory(printsupport)
endif()
# add_subdirectory(cmake) ## FIXME: Does this still make sense in this form?
# add_subdirectory(installed_cmake) ## FIXME: Does this still make sense in this form?
add_subdirectory(other)
# special case end

View File

@ -4,51 +4,39 @@ TEMPLATE = subdirs
# b88acae7a8e773c307e44f84da037d01d19e60f7 in qt5.
boot2qt:qtConfig(private_tests): return()
SUBDIRS += \
corelib \
dbus \
gui \
network \
opengl \
sql \
testlib \
tools \
xml \
concurrent \
other \
widgets \
printsupport \
cmake \
installed_cmake
uikit {
SUBDIRS = corelib
qtHaveModule(gui): SUBDIRS += gui
return()
}
installed_cmake.depends = cmake
uikit: SUBDIRS = corelib gui
cross_compile: SUBDIRS -= tools cmake installed_cmake
else:!qtConfig(process): SUBDIRS -= tools
winrt|!qtHaveModule(opengl): SUBDIRS -= opengl
!qtHaveModule(gui): SUBDIRS -= gui
!qtHaveModule(widgets): SUBDIRS -= widgets
!qtHaveModule(printsupport): SUBDIRS -= printsupport
!qtHaveModule(concurrent): SUBDIRS -= concurrent
winrt|!qtHaveModule(network): SUBDIRS -= network
!qtHaveModule(dbus): SUBDIRS -= dbus
!qtHaveModule(xml): SUBDIRS -= xml
!qtHaveModule(sql): SUBDIRS -= sql
# Disable the QtDBus tests if we can't connect to the session bus
!cross_compile:qtHaveModule(dbus) {
!system("dbus-send --session --type=signal / local.AutotestCheck.Hello >$$QMAKE_SYSTEM_NULL_DEVICE 2>&1") {
# Order by dependency [*], then alphabetic. [*] If bugs in part A of
# our source would break tests of part B, then test A before B.
SUBDIRS += testlib
qtConfig(process):!cross_compile: SUBDIRS += tools
SUBDIRS += corelib
!cross_compile: SUBDIRS += cmake
qtHaveModule(concurrent): SUBDIRS += concurrent
# QTBUG-63915: boot2qt fails dbus
qtHaveModule(dbus):!cross_compile:!boot2qt {
# Disable the QtDBus tests if we can't connect to the session bus
system("dbus-send --session --type=signal / local.AutotestCheck.Hello >$$QMAKE_SYSTEM_NULL_DEVICE 2>&1") {
SUBDIRS += dbus
} else {
qtConfig(dbus-linked): \
error("QtDBus is enabled but session bus is not available. Please check the installation.")
else: \
warning("QtDBus is enabled with runtime support, but session bus is not available. Skipping QtDBus tests.")
SUBDIRS -= dbus
}
}
qtHaveModule(gui): SUBDIRS += gui
qtHaveModule(network):!winrt: SUBDIRS += network
qtHaveModule(opengl):!winrt: SUBDIRS += opengl
qtHaveModule(printsupport): SUBDIRS += printsupport
qtHaveModule(sql): SUBDIRS += sql
qtHaveModule(widgets): SUBDIRS += widgets
qtHaveModule(xml): SUBDIRS += xml
!cross_compile: SUBDIRS += installed_cmake
SUBDIRS += other
# QTBUG-63915
boot2qt: {
SUBDIRS -= dbus
}
installed_cmake.depends = cmake