qt5base-lts/tests/auto/CMakeLists.txt
Alex Richardson 44920e7fb2 CMake: Fix building with -DQT_FEATURE_gui=OFF
Some CMake files currently assume that QtGui is always enabled and we
get a configure-time failure without these changes.

Task-number: QTBUG-86053
Change-Id: I28e32c180c32221f32519017bac6b518a19d5983
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-09-15 20:05:32 +02:00

78 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)
# special case begin
if (TARGET Qt::Xml AND TARGET Qt::Sql AND TARGET Qt::Network)
add_subdirectory(cmake)
endif()
# special case end
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)
add_subdirectory(network)
endif()
if (TARGET Qt::OpenGL)
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