0e6c4224f0
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>
84 lines
2.3 KiB
CMake
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
|