96e3ee0659
The tests/auto/cmake project can be configured separately as a
standalone project with qt-cmake, or as part of the overall qtbase
standalone tests.
To do that a bunch of things were done
- Ported all Qt5 strings to Qt6
- Replaced in all projects the use of add_definitions and
include_directories with a target based approach, except for 2 tests
where we check that the old-style approach works, otherwise the
tests would file
- Removed some (possibly unneeded) EGL / OpenGL tests
- Fixed some C++ code
- Added setup code to tests/auto/cmake/CMakeLists.txt to figure out
which modules are available and should be tested
- Fixed Qt6CTestMacros.cmake to be loaded by Qt6Core
- Removed the CMake tests to not be run in qmake builds of Qt because
they would fail anyway
- Enabled the CMake tests to be part of standalone tests
- Disabled auto-passing of the C and CXX compiler cache vars when
cross-compiling so that the tests can somewhat pass on boot2qt.
This is the issue we encountered in
e2b2cd9397
- Ultimately disabled tests for boot2qt, because the -rpath-link
flag is not generated by CMake for some reason.
- Added code to setup the environment when running an executable that
was built as part of the test, so that the proper Qt libraries are
found. This handles both the standalone tests case and separate
project case.
The remaining unported tests are test_import_plugins which requires
quite a bit of work to get some modules and plugins built that were
done as part of the qmake .pro files, test_plugins that checks
some Network plugins which I'm not sure about, and
test_add_big_resource which doesn't work with namespaced builds
and there's no good way of detecting those at the moment either.
Change-Id: Ic8809c72817d1db81af6c6014c11df6473ad8c75
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
36 lines
1.2 KiB
Prolog
36 lines
1.2 KiB
Prolog
TEMPLATE = subdirs
|
|
|
|
uikit {
|
|
SUBDIRS = corelib
|
|
qtHaveModule(gui): SUBDIRS += gui
|
|
return()
|
|
}
|
|
|
|
# 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
|
|
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.")
|
|
}
|
|
}
|
|
qtHaveModule(gui): SUBDIRS += gui
|
|
qtHaveModule(network): SUBDIRS += network
|
|
qtHaveModule(opengl): SUBDIRS += opengl
|
|
qtHaveModule(printsupport): SUBDIRS += printsupport
|
|
qtHaveModule(sql): SUBDIRS += sql
|
|
qtHaveModule(widgets): SUBDIRS += widgets
|
|
qtHaveModule(xml): SUBDIRS += xml
|
|
SUBDIRS += other
|
|
|