Commit Graph

43018 Commits

Author SHA1 Message Date
Alexandru Croitor
52d9b2234c Regenerate tests/auto/widgets/widgets
Change-Id: I9d9360612931b29b5d13a224236ef650dc5c8e1d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:05:47 +00:00
Alexandru Croitor
bfbf3e0b3a Regenerate rest of tests/auto/gui
Change-Id: Iaaea50790161715517f7a4085116d5c893fa286b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:05:37 +00:00
Alexandru Croitor
3377978122 Regenerate tests/auto/gui/math3d
Change-Id: I7579ed464ec9211b1da7478c02e4e13a2a71277a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:05:27 +00:00
Alexandru Croitor
4936b6c795 Regenerate tests/auto/gui/kernel
Change-Id: I32046f33612f9b306dd889a0d42aa70d32375531
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:05:15 +00:00
Alexandru Croitor
43d7927004 Regenerate tests/auto/gui/painting
Change-Id: Id30f9e7e6cadb4a09c669c5688c01a84300a8c41
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:05:06 +00:00
Alexandru Croitor
cd258ca28a Regenerate tests/auto/gui/image
Change-Id: If6aa42d5b19227e488fc2fcf94b8eacc02c2c209
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:04:49 +00:00
Alexandru Croitor
800cd1d8b9 pro2cmake: Fix broken is_manual_test usage
Amends 681e8b4ead

Change-Id: I5ac8761de10d945b6ac78ba95a179209c80cb893
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-13 10:00:45 +00:00
Alexandru Croitor
250ad9843f Always build tests by default when building standalone tests
Amends 021c17c62f

Change-Id: I8181270ef7506eb5da4d3b43e105e100ed5581e4
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-13 10:00:34 +00:00
Alexandru Croitor
e7f188b2d2 Don't include standalone tests config file if none exists
Some repos like qtimageformats don't generate a config file for
standalone tests because the repo creates no modules.

Amends de3a806def

Change-Id: Id42338804605a883f975feb5dd81eda5acc6e687
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-13 10:00:12 +00:00
Alexandru Croitor
edcf5d0144 Fix qt_skip_warnings_are_errors_when_repo_unclean for executables
Amends f000685612

Change-Id: I48d7a42e11e609fa3a387b7669ee96bd10c856e4
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-13 09:59:56 +00:00
Alexandru Croitor
f000685612 Add support for skipping warnings are errors
Unfortunately not all repositories are marked as warning_clean
in their .qmake.conf files. For instance qtconnectivity and
qttools are not warning clean. Therefore we need to skip
warnings_are_errors flags on all targets created in that repository.

Add support for skipping the warnings are errors flags, by setting
a QT_SKIP_WARNINGS_ARE_ERRORS property on a target, and use that
within a generator expression with all the accumulated flags.

To mimic behavior of qmake, and set the property on all targets
created by add_qt_module, add_qt_plugin, etc, one simply needs
to set the QT_REPO_NOT_WARNINGS_CLEAN variable in the
repo project CMakeLists.txt.

Change-Id: Ib5a487af6601ae1519a0988a89f8083f94f92267
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-12 17:30:35 +00:00
Alexandru Croitor
f2c57e83ab Revert "Fix static linking when using bearer plugins"
While the first patch that was required to fix duplicate symbols
errors was merged from dev to wip/cmake, the second one
7a605edc22 is not yet merged.

So revert the revert to temporarily fix static builds until we do
another merge from dev to wip/cmake.

This reverts commit 307cd64c57

Task-number: Fixes: QTBUG-79211
Change-Id: I72052513fc0e0183b3ce8270b4ce3f2ff44b664d
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-12 17:30:18 +00:00
Alexandru Croitor
cb6f92c481 Regenerate everything under ./src
Change-Id: Ibdbdc17f8c2ee41356f490dd839a47e1bcf4c586
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:27:29 +00:00
Alexandru Croitor
b0a223cf08 Regenerate tests/auto/corelib/statemachine
Change-Id: I9b9dcb0ede68116033bcde69cc1b5fafb67a22d1
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-12 17:27:21 +00:00
Alexandru Croitor
2718f5928e Regenerate tests/auto/corelib/serialization
Change-Id: Id2e221e4018b46467203c8d6f29a9758c3c57a60
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:26:59 +00:00
Alexandru Croitor
5c1bb8e4d4 Regenerate tests/auto/corelib/codecs
Change-Id: Iea71e497e8bcf131ed89c9e576381dc305b1dd44
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:26:41 +00:00
Alexandru Croitor
8076afb3c6 Regenerate tests/auto/corelib/tools
Change-Id: I1ea8fbf509c7e6d556ebd974fcff9084bc668e17
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:26:27 +00:00
Alexandru Croitor
5447ccd469 Regenerate tests/auto/corelib/mimetypes
Change-Id: Id137b8e9f48edd65c4df901f11a8ae917395d6b6
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:26:15 +00:00
Alexandru Croitor
7adcdcbf80 Regenerate tests/auto/corelib/text
Change-Id: I34e24b7c2697bcdddc628855e2b539b8db1b98b0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:26:05 +00:00
Alexandru Croitor
f7d7021460 Regenerate tests/auto/tools
Change-Id: I25268499ff966ebf134150accbaec7634726fe40
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:25:41 +00:00
Alexandru Croitor
209c7238a7 Regenerate tests/auto/corelib/thread
Change-Id: Ib70f000480ffbbb994edd80d9e2c7f5d9e270e0c
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:25:29 +00:00
Alexandru Croitor
d802572f0b Regenerate tests/auto/corelib/animation
Change-Id: I698e8bf965cc928bf7f48f44c81bd0dc017f483c
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:25:18 +00:00
Alexandru Croitor
d58d7ebfea Regenerate tests/auto/corelib/kernel
Change-Id: I466387408d26854e11fde0a1fbef74c2fad764c7
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:25:04 +00:00
Alexandru Croitor
812d45ed09 Regenerate tests/auto/corelib/global
Change-Id: I89a82f0cafeda2f38217a24f1c495344910fba1a
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:24:56 +00:00
Alexandru Croitor
76590ce220 Regenerate tests/auto/corelib/io
Change-Id: Ic1d1b5c0deb90800c7219fb8cce4e77e0db145b8
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-12 17:24:44 +00:00
Leander Beernaert
681e8b4ead Add add_qt_manual_test()
This patch adds add_qt_manual_test() which is a simple wrapper around
add_qt_executable() which does not build under ${CMAKE_BUILD_DIR}/bin
or install the targets.

This could potentially be used later to tag manual tests.

Change-Id: Ic4e0a1d133009f5a858b9394347a0996cf42683f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 14:46:44 +00:00
Alexandru Croitor
f33069be24 pro2cmake: Consider _LOADED operations as always processed
To remove wrong unused keys comments from the project file.

Change-Id: Ib52b1738b6136a54f6accb86156b9b2609f331c3
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-11-12 14:18:58 +00:00
Alexandru Croitor
17e2befe2a Don't install QtFooTestsConfig.cmake if no modules were built
When configuring qtx11extras on macOS, we ended up installing the
file, which made Coin think that at least one module was built,
and thus it tried to build tests as well.

Don't install the file if no modules were built, thus preventing
from trying to build tests in Coin.

Amends de3a806def

Change-Id: I920a0b40a6ded12140f251352da53b68eef6560d
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-12 13:21:31 +00:00
Alexandru Croitor
e6a845ad88 Regenerate a bunch of projects after pro2cmake changes
Change-Id: I675a068411785364915a074ca0e631fec944d228
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-12 13:16:08 +00:00
Alexandru Croitor
a0967c2a4f pro2cmake: Handle operation evaluation order when including children
Instead of processing included_children operations either before or
after the parent scope, collect all operations within that scope and
its included children scopes, and order them based on line number
information.

This requires propagating line numbers for each operation as well as
line numbers for each include() statement, all the way from the
parser grammar to the operator evaluation routines.

This should improve operation handling for included_children
(via include()), but not for regular children (introduced by ifs or
elses), aka this doesn't solve the whole imperative vs declarative
dilemma.

Sample projects where the improvement should be seen:
tests/auto/gui/kernel/qguiapplication and
src/plugins/sqldrivers/sqlite.

This amends f745ef0f67

Change-Id: I40b8302ba6aa09b6b9986ea60eac87de8676b469
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 11:47:42 +00:00
Leander Beernaert
2285dd6f10 Rename some more manual test to be unique
This patch renames some of the manual test by prefixing them with
tst_manual_ to make sure they are unique in the project structure. This
is a requirement for the CMake port.

Change-Id: I83e2152826e0f95c3378374ab1c9992412022109
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit 63a1a30a01)
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 10:35:39 +00:00
Leander Beernaert
70a218b90b Fix compile errors related to missing Qt:: namespace
Change-Id: I092a26ef38b08c52d84adb027a1b1bdee8cc7f6b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit ce187c4f0e)
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 10:35:26 +00:00
Alexandru Croitor
04e86bab13 Make sure to install QtStandaloneTestsConfig.cmake.in
Otherwise leaf modules fail to configure.
Amends de3a806def

Change-Id: Ie304c0021ada9911044abdb7e460b8da8e986a8f
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 10:35:22 +00:00
Leander Beernaert
190021b9c7 Rename some manual test to be unique
This patch renames some of the manual test by prefixing them with
tst_manual_ to make sure they are unique in the project structure. This
is a requirement for the CMake port.

Change-Id: Ie393b125ce5a35b7069cf006db0f3af8c4fda5b4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 937e014e63)
2019-11-12 10:28:40 +00:00
Leander Beernaert
026471378d Add mapping entry for LinuxOfonoSupport
Change-Id: I4c88b58cad6b4f4a88f02a38dd84d3a667bcc063
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 10:27:51 +00:00
Alexandru Croitor
d7c4fa46ac pro2cmake: Allow skipping subdirs projects via command line
Pass either --skip-subdirs-project to pro2cmake or
--skip-subdirs-projects to run_pro2cmake.

Change-Id: Ic444858f6fc6deb3c893782c0770993aa39d5579
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 10:13:24 +00:00
Alexandru Croitor
c1e0e0adb2 pro2cmake: Fix incorrect replacement of x86 conditions
The regular expression used to eat the character that comes after
the x86 token, which was incorrect when matching x86SimdAlways.

Fix the regular expression to use a lookahead with a negative
character class of word characters.

Change-Id: I9ed8f9a490369bf5704b752f8bba3b7118a2cd5b
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 10:13:13 +00:00
Alexandru Croitor
4fe8330b5b pro2cmake: Fix formatting and mypy errors
Change-Id: Ic41998c39f5f5b890b3aa8ec43c6f3f03fee54da
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 10:13:02 +00:00
Alexandru Croitor
2c66bdde5a pro2cmake: Skip errors regarding not found generated .pri files
A lot of project files include files like qtsqldrivers-config.pri
which do not exist when running pro2cmake. It should be safe to hide
this error messages when converting projects.

Change-Id: I4205010e537f67f9b276b4cb94ec30f847c43c68
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 10:12:50 +00:00
Alexandru Croitor
37ab7eae9d pro2cmake: Clean up debug messages
Don't needlessly show a bunch of special case debug messages
unless debugging is enabled.
There used to be a barrage of scary message when using
run_pro2cmake.

Change-Id: I49ab3522e11844a99653034b5f15a634a368d227
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 10:12:35 +00:00
Leander Beernaert
2199a50a2a Build test/manual if it contains a CMakeLists.txt
Change-Id: Ibada60b0902f9c6a6a7284489a56106e0021a9de
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-12 10:06:46 +00:00
Tasuku Suzuki
a5f474b9bb Fix build without features.shortcut
Change-Id: I09a1e2e34df6ca1d779a7e36585f70a0d347cde5
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-11-12 16:39:35 +09:00
Simon Hausmann
37ec5a0462 Fix linking on armv7
Don't compile the neon pixman sources twice into QtGui. They're already
added earlier with add_qt_simd_part.

Change-Id: Iaccb14b6ab6466104a9f02c217c9332bcbf7bead
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-11 15:39:47 +00:00
Leander Beernaert
63a1a30a01 Rename some more manual test to be unique
This patch renames some of the manual test by prefixing them with
tst_manual_ to make sure they are unique in the project structure. This
is a requirement for the CMake port.

Change-Id: I83e2152826e0f95c3378374ab1c9992412022109
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-11 14:08:57 +01:00
Leander Beernaert
ce187c4f0e Fix compile errors related to missing Qt:: namespace
Change-Id: I092a26ef38b08c52d84adb027a1b1bdee8cc7f6b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-11 14:08:52 +01:00
Simon Hausmann
52345a1076 Fix cross-compilation against sysroot with vulkan support
Replace the use of the unqualified qvkgen target with the fully
qualified one, as we can be sure that that target exists during a host
build as well as when cross-compiling.

Change-Id: I31ce3d9f2fd629668a275da9114ab55339b82c31
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-11 13:04:35 +00:00
Simon Hausmann
1b41a62893 Fix armv7 embedded Linux build
In gui's CMakeLists.txt we have

    if (NOT ANDROID)
        ...
        add_qt_simd_part(Gui SIMD neon SOURCES ...)
        ...
    endif()

and later

    if(UNIX AND NOT ANDROID AND NOT APPLE_UIKIT AND NOT INTEGRITY AND NOT (TEST_architecture_arch STREQUAL "arm64"))
        add_qt_simd_part(Gui SIMD neon
    endif()

Since add_qt_simd_part internally uses an OBJECT library to compile the
sources with different flags and then link into Gui (in this case), we
may end up with an error when add_qt_simd_part is called twice for neon,
because the constructed target (Gui_simd_neon) exists already.

We can re-use an existing target though, as the SIMD features is the
same.

Change-Id: I7a21c6e66b47e918a53fa3b1a7db9e053ecc8d87
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-11 13:04:12 +00:00
Leander Beernaert
937e014e63 Rename some manual test to be unique
This patch renames some of the manual test by prefixing them with
tst_manual_ to make sure they are unique in the project structure. This
is a requirement for the CMake port.

Change-Id: Ie393b125ce5a35b7069cf006db0f3af8c4fda5b4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-11 10:01:13 +01:00
Alexandru Croitor
8ef64341c3 Fix architecture config tests values to be written only once
Every time the qtbase project was reconfigured, the list of
config tests results was appended to a cache variable which was
never reset, resulting in multiple copies of the same values
being written to QtBuildInternalsExtra.cmake.

Make sure to clean the cache variable before appending to it.

Also change the variable to be all upper-case, to be consistent
with other cache variables.

Change-Id: Ic12046730a080595e19377981a726bc330641dc1
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-08 16:12:29 +00:00
Alexandru Croitor
021c17c62f Add support for -nomake-tests and -nomake-examples equivalents
A developer can pass either -DQT_NO_MAKE_TESTS=ON or
-DQT_NO_MAKE_EXAMPLES=ON to exclude tests or examples from being built
as part the default make target (when you write just make or ninja).

With ninja, tests and examples can be built separately one by one,
by typing
 $ ninja tst_foo
or
 $ ninja example_bar

Same can be done with the Makefile generator.
 $ make tst_foo

All tests / examples can be built in one go by typing
 $ ninja tests/all
or
 $ ninja examples/all

With the Makefile generator unfortunately it's not as nice and is most
likely an implementation detail, but it can still be done by running
something like
 $ make -f CMakeFiles/Makefile2 tests/all
or
 $ make -f CMakeFiles/Makefile2 examples/all

Change-Id: I34f168b3ab41e952a21d3ace5634e25a9f41922e
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-08 16:05:44 +00:00