qt5base-lts/tests/auto/CMakeLists.txt
Alexandru Croitor 0e6c4224f0 CMake: Build minimal subset of tests in desktop static builds
Add new configure option -make minimal-static-tests and CMake option
QT_BUILD_MINIMAL_STATIC_TESTS. In conjunction with QT_BUILD_TESTS
it will enable building a minimal subset of tests when targeting
a static desktop Qt build.

In qtbase the minimal subset includes all the auto tests of testlib,
tools, corelib and cmake. In particular this will also do cmake build
tests and qmake build tests (tst_qmake)

Adjust CI instructions to enable building a minimal subset of static
tests when a platform configuration is tagged with the
MinimalStaticTests feature.

Fix and skip a few tests that were failing.

Pick-to: 6.1
Task-number: QTBUG-87580
Task-number: QTBUG-91869
Change-Id: I1fc311b8d5e743ccf05047fb9a7fdb813a645206
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-04-06 09:15:37 +01:00

84 lines
2.3 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
# Limit set of tests to run for static Qt builds.
if(QT_BUILD_MINIMAL_STATIC_TESTS)
return()
endif()
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