qt5base-lts/tests/auto/CMakeLists.txt
Edward Welbourne 1673e66047 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>
2020-05-05 15:34:15 +02:00

74 lines
2.2 KiB
CMake

# 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)
execute_process(COMMAND dbus-send --session --type=signal / local.AutotestCheck.Hello
RESULT_VARIABLE dbus_session_test
OUTPUT_QUIET ERROR_QUIET)
if(NOT "${dbus_session_test}" STREQUAL "0")
set(run_dbus_tests OFF)
if(QT_FEATURE_dbus_linked)
message(WARNING
" QtDBus is enabled but session bus is not available for testing.\n"
" Please check the installation. Skipping QtDBus tests.")
else()
message(WARNING
" QtDBus is enabled with runtime support, but session bus is not available.\n"
" Skipping QtDBus tests.")
endif()
endif()
endif()
if(run_dbus_tests)
add_subdirectory(dbus)
endif()
endif()
if (TARGET Qt::Gui)
add_subdirectory(gui)
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()
# add_subdirectory(installed_cmake) ## FIXME: Does this still make sense in this form?
add_subdirectory(other)
# special case end