Commit Graph

97 Commits

Author SHA1 Message Date
Simo Fält
1468849b30 Add CI config to run Android x86 test in emulator
Task-number: QTQAINFRA-3867
Pick-to: 6.0
Change-Id: Icabb8e5cd880087abcf1d2c68ac126a4d8bf8687
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-11-23 16:30:42 +00:00
Liang Qi
919253da5c CI: remove InsignificantTests flag for Ubuntu 20.04 hosts
Change-Id: I50ee36c93e084d5bd8cf97a29a44c66698cc4f5a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-11 17:12:48 +01:00
Liang Qi
47b8427b15 coin: guard Ubuntu 20.04 for qtbase first
Task-number: QTBUG-86187
Change-Id: I677eec9b80ae7389fe63adc58a38979556654a8a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-10-30 21:34:54 +01:00
Joerg Bornemann
c4a012ba3d Use the -qmake configure argument for UseLegacyInstructions configs
...to prepare switching the default from qmake to CMake.

Task-number: QTBUG-87049
Change-Id: I0f17e65cead99d2b7bf3191b1bfc96cee7d089e9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-23 16:52:19 +02:00
Alexandru Croitor
6eea6ae689 CMake: Add missing qtbase macOS developer build configuration
Task-number: QTBUG-86053
Change-Id: I4fa4c03599e1a455eb1337d9980c2bda09cfd374
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-10-13 09:50:46 +02:00
Alexandru Croitor
94f091907e CMake: Enable qemu armv7 configuration for all repos
Task-number: QTBUG-83968
Change-Id: I0aca9b5ff53b8383001030dc7f7555cc5aaf2be8
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-10-05 10:52:02 +02:00
Alexandru Croitor
e1da3e7ee4 CMake: Add qemu armv7 qtsvg builds
Move the configuration from qtbase into a new
cmake_platforms_qemu.yaml file, and include it in qtbase and qtsvg.

Also enable CMAKE_AUTOGEN_VERBOSE to see what moc is being called
and with what parameters.

Task-number: QTBUG-83968
Change-Id: Ib893c6f8cb498b9b5c7da79218de22a28ffdb83f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-07-27 11:16:48 +02:00
Alexandru Croitor
b2014f2eff CMake: Add non-qtbase configure argument placeholders
The qtbase Coin instructions will start reading the values of the
environment variables NON_QTBASE_CONFIGURE_ARGS and
NON_QTBASE_TARGET_CONFIGURE_ARGS.
These are used to pass configure args to repositories other
than qtbase to allow disabling certain features per-repo.

Unfortunately we have to explicitly set the env var values to empty
strings so that the instructions work correctly, otherwise Coin
replaces them with a '<no value>' token, which breaks the
CMake configuration phase.

For some reason the issue only happens on the Windows MSVC
configuration, but we set them for the other configurations as well
to avoid any future breakages.

Task-nunber: QTBUG-84886
Change-Id: I4b095f71c6e484a0e67a53eb6ea9d5ca4f2a6a0c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-07-13 15:57:01 +02:00
Alexandru Croitor
36bd8972ad CMake: Build and run tests for qtbase on armv7 configuration
Remove the DisableTests feature to force the qtbase instructions
to build and run the tests.

Task-number: QTBUG-84423
Task-number: QTBUG-83968
Change-Id: Ic904c7b0f3d6d6ab8a546d683b0110b0704bf42c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-25 17:16:55 +02:00
Alexandru Croitor
1f52b8f8e5 CMake: Change armv7 configuration to prepare for building tests
Switch the configuration to have release + developer-build similar
to the qmake configurations.

Add debug info for extra spiciness.

Specify a new env variable called QT_SYSROOT_FOR_RUNNING_TESTS which
will be used by the qtbase instructions to set QEMU_LD_PREFIX, which
is needed to run the tests via qemu.

Specify the QT_QUICK_BACKEND=software env var as well as the
GST_PLUGIN_SCANNER env var, because the qmake configurations do it.

Make sure to cross-build tools, because some of the tests like
tst_uic and tst_rcc expect the tools to be there.

Note that DisableTests feature is left on purpose, so we can decouple
the building from the testing in 2 different steps.

Task-number: QTBUG-84423
Task-number: QTBUG-83968
Change-Id: Icf6b12e6942c6ae6a0445eeac3f88704ca797148
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-25 17:16:53 +02:00
Toni Saario
0cc1973ba8 CMake: Deduplicate the cmake platforms
After Coin commit 60a6f795f5923c7c206b3fec4ebad991ce30d633 it is
possible to include other intermediate configuration files.

Create a new cmake_platforms.yaml file which will contain the default
list of platform configurations to be tested in all cmake-enabled
repos and qt5.git.

Task-number: QTBUG-85044
Change-Id: I10e4dff8793a1ffb5776e00dac80f43394d18578
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-16 15:46:50 +02:00
Alexandru Croitor
6fd1d05b08 CMake: Align the CMake Packaging configurations with the qmake ones
For releasing purposes, we should align the configure arguments
(actually CMake arguments) of the Packaging configurations with the
ones we used for Qt 5.15.x releases.

In particular for linux builds this means disabling the use of a few
system libraries (a new one that needs to be disabled is
double-conversion, it was not provisioned for Qt 5.15.x builds, but
was installed for dev builds).

Apply the changes across all repos, to be consistent and build the
same for qt5.git and per-repo builds.

Task-number: QTBUG-85047
Change-Id: I784abc6367bcda574691758942f89257e891647e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-16 09:57:53 +02:00
Alexandru Croitor
3b7da852e6 CMake: Fix a lot of failing tests on MinGW 32bit due to debug symbols
When building a RelWithDebInfo configuration, the debug symbols for
the libraries are embedded into the .dlls. This causes the file size
to be really big (around 400MB for libQt6Gui.dll). On a 32-bit system,
the Windows loader failed to map such big libraries into memory,
and thus certain tests failed with exit code 0xc0000017
which means STATUS_NO_MEMORY.

The solution is to enable the separate debug info feature, to split
the debug files into separate files, just making they dlls nice and
small.

This should fix quite a few of the failing MinGW 32-bit tests for
qtdeclarative, qtquickcontrols2, etc.

Task-number: QTBUG-84886
Change-Id: I10ae0acca5d7d5523d3ae2f0c49587ace239f301
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-12 19:28:53 +02:00
Alexandru Croitor
803eb987ad CMake: Enable iOS simulator_and_device builds
Coin now has CMake 3.17, so iOS multi-arch builds should
successfully build.
Switch the iOS CMake configurations to simulator_and_device ones.

Task-number: QTBUG-80899
Change-Id: I9c8bde9f1a3c483ea296f3d9d06f089cbfdf2416
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-12 14:36:38 +02:00
Liang Qi
a4b68d6b7d Set Boot2Qt arm builds to release and developer build
Task-number: QTBUG-63152
Change-Id: Id6f2411d6339b7bd1ccb261cf5d9bebe1d0ada1c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-04 14:35:23 +02:00
Joerg Bornemann
4d99fb00cc Fix CMake provisioning for Ubuntu 18.04 x86_64 QEMU armv7
This amends 68134db4.

Change-Id: I2eed240464f1b29c119ca0119001997aefdecd41
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-05-27 08:06:16 +02:00
Alexandru Croitor
5cd8e9576d CMake: Switch qtbase Windows config to use Ninja Multi-Config
And configure with two configurations, RelWithDebInfo and Debug.
This is equivalent to qmake's
--debug-and-release --force-debug-info

This should give us minimal coverage for debug-and-release builds,
as well as avoid regressions with NMC aka multiple configurations.

If the qtbase builds successfully, we can try to extend the rest of
the repositories to also build with NMC on Windows.

We can't add such a configuration to macOS for now, because it
requires CMake 3.18, which is not released yet.

Disable PCH because it seems to fail the build when used together
with Ninja Multi-Config.

Task-number: QTBUG-80900
Change-Id: I71a9584ddb1d48ed22925f67b50891e102036c97
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-25 13:41:38 +02:00
Alexandru Croitor
29c9ba1835 CMake: Switch to MinGW 8.1 configuration for the qtbase CMake build
Change-Id: I974d34a33370ece9f9e240ba6e5106cc50d8bf84
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-05-12 13:02:52 +02:00
Alexandru Croitor
9f4a39356a CMake: Switch host macOS configurations to framework release builds
Also include debug info. This is the equivalent of qmake's
--release --framework --force-debug-info --separate-debug-info

Change-Id: I2778b4998890146c82552f9c721a48174a764839
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
2020-05-04 22:50:17 +02:00
Alexandru Croitor
4dace06297 CMake: Enable a MinGW 7.3 CMake qtbase configuration
It should be a developer build, but due to some features
that are not ported in src/gui/configure.cmake (directwrite)
there are compilation errors due to unused arguments in
static bool QWindowsFontDatabaseBase::init(QSharedPointer)
in platformsupport/fontdatabases/windows/qwindowsfontdatabasebase.cpp

So it's not a developer build for now.

Task-number: QTBUG-75578
Change-Id: Ieb6daca45473ea42748a39f3e9e33a9db087a0e0
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
2020-05-04 18:01:22 +02:00
Liang Qi
54c94ae681 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	.gitmodules
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtwebkit.yaml
	coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh

Change-Id: If6b0f7a671a69d6a2444ee4d26b324e4d269970c
2020-04-30 18:35:08 +02:00
Simon Hausmann
3265e93168 Try to build qtbase with cmake against Yocto
This adds the basic armv7 configuration and passes through two
additional variables for use in the build instructions:

    * QT_YOCTO_ENVSETUP points to the environment-setup script that the
    Yocto SDK expects to be sourced before building against the target
    sysroot.

    * QT_CMAKE_DIR points to the directory that contains our cmake
    installation. Since the environment-setup prepends the Yocto host
    bin dir to the PATH, we'd end up picking the wrong cmake.

Also the choice of system Harfbuzz is disabled as Qt does not build
against the version shipping in Yocto.

Change-Id: I8d657e773143c4db0e2437d029d62372f7b7e638
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-04-30 12:02:42 +02:00
Alexandru Croitor
da26e954de CMake: Pass location to custom OpenSSL 1.1 directory in Coin
Needed for enabling all the various OpenSSL classes in Qt.

Change-Id: Ic20ab464552317a2753ae0e35043e16cc6c60ab3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-04-07 17:42:51 +02:00
Heikki Halmet
8101b54714 Provisioning: Update Windows 10 x86_64 to version 1909
These are also updated to tier1 image:
msvc 2017: Not installed
msvc 2019: version 16.4.4
msvc 2019 build tools: version 16.4.4

Task-number: QTQAINFRA-3623
Task-number: QTQAINFRA-3417
Change-Id: I006204ca090c4e2cf0d2ffc2309ab6b94f9b7d47
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-04-04 17:13:43 +03:00
Alexandru Croitor
6ff1dcfbd3 CMake: Change iOS builds to build in Release configuration
Apparently standalone Debug iOS builds are not supported in qmake
at the moment as per QTBUG-71990.

While we keep the same configure.json error reports for both qmake and CMake
it's simpler to switch the config to Release.
Once we get Ninja Multi-Config in Coin working, we can switch to
debug_and_release.

Change-Id: I406012918fd402ad0ff29bbdc151e247699eea72
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-03-09 21:15:04 +01:00
Alexandru Croitor
dbd18fc0c5 Re-enable iOS CMake builds
This reverts commit dad8e600bd.

Change-Id: I6aab4d5818e4cbd3ec83ad6d57fa0bdd2348bf35
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-09 13:00:29 +01:00
Tony Sarajärvi
3b264301b0 Update openSUSE to 15.1
Task-number: QTQAINFRA-3455
Change-Id: Ie795f19c26ab0c42693388696edb344b4fa121a6
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-03-09 10:50:38 +00:00
Alexandru Croitor
e1bc1c4885 Remove vcpkg provisioning and configure arguments
Now that qtbase supports building bundled 3rd party libraries, we
should have no need for vcpkg in Coin anymore.

Change-Id: I7aa7b0323416b60ffb0cd70eec287e5f25963d9a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-06 06:25:50 +01:00
Alexandru Croitor
aa977addd2 Bump CMake CMAKE_OSX_DEPLOYMENT_TARGET to 10.14
To hopefully get proper macOS C++17 support.

Change-Id: Icd7fcf49de319e4d20693db356e85f3c5332581e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-14 11:29:00 +01:00
Alexandru Croitor
dad8e600bd Disable iOS CMake builds until vcpkg is provisioned on macOS
It will be reinstated later once confirmed that all the necessary
bits are there.

Change-Id: I04ca0dda3f9feece8acc9039c8372d346b4f3cd4
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-02-13 12:54:44 +01:00
Simon Hausmann
dfb773505c Prospective fix for macOS CMake builds
Adjust the SDK root path to match what's on the system. This should
ideally not be hardcoded here but detected, but for now fixing the build
is highest priority.

Change-Id: I317fe9a4e038cb62cf6cdf06f10a60aa9d975e15
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-02-13 09:48:00 +01:00
Alexandru Croitor
de86e584d5 Add iOS CMake builds for qtbase and qtsvg
Change-Id: I8a14aefd0d28f13cb3fe9e80aac2d480a4ad16af
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-02-12 19:19:39 +01:00
Alexandru Croitor
cd2ac9df6b Fix template name for CMake macOS builds
Change-Id: I5709145b8a1642e27b1de14c37a6d8ccee89107a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-12 13:10:43 +01:00
Simon Hausmann
c802afc31b Remove ICC also for cmake
Switch the static build to GCC instead.

Amends commit 4c55e1cfa7

Change-Id: Id752dcd86c2bda8811427a7bf7b756eee7247992
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-12 08:50:34 +01:00
Simon Hausmann
68419bc36c Switch the cmake build also to macOS 10.14
We've switched the qmake configs as well, so cmake should follow.

Change-Id: Ib0cf4b3ade56714b4437afd5ce301204e5b31d24
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-12 07:47:14 +00:00
Alexandru Croitor
04e09db02a Enable CMake Coin configurations
This change enables building a few CMake configurations of qtbase in
Coin.
It should only be merged once qtbase wip/cmake -> dev change is
merged.

Change-Id: I7542af91c7f0004219d0155cad485582883e8e95
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-02-11 16:11:42 +01:00
Simon Hausmann
2a64418358 Transition to macOS 10.14 step 1
We want to run all tests on macOS 10.14, which requires some more fixes
in qtquickcontrols2. That however isn't passing due to unrelated changes
in base/declarative blocking us from moving forward. So to decouple the
two, this change limits macOS tests to qtbase and declarative but on
10.14. This will allow us to switch qtbase over to C++17 and once we've
got qqc2 updated in qt5.git, we can globally re-enable tests for 10.14.

Task-number: QTQAINFRA-3108
Change-Id: I0f835a1da87187c6bb69e3d4019196e1411095fd
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-02-04 16:54:05 +01:00
Alexandru Croitor
25e0073720 Use legacy instructions when building all qmake configurations
This change is preparation for merging qtbase wip/cmake -> dev,
because that will bring in the new yaml instructions on how
to build the CMake configurations, which means that legacy
instructions provided by Coin itself need to be used for all
the existing qmake configurations.

Change-Id: I7005835719b83b7186138292a2e1baf4d2a4a3e0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-02-03 14:15:33 +01:00
Heikki Halmet
a7c5f204bc Provisioning: New Tier1 image for Windows 10 x86_64
Change will upgrade Visual studios to the latest ones. Also MSVC 2019
build tools are installed for RTA.

MSVC 2019 version 16.3.10
MSVC 2017 version 15.9.17
MSVC 2019 build tools version 16.3.10

Task-number: QTQAINFRA-3389
Change-Id: Ic21645f96f8d4e6abc38951bd6bab519b4864418
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-12-10 09:48:42 +02:00
Heikki Halmet
f1276acf5c Provisioning: Add MSVC 2019 and upgrade MSVC 2017 to the latest version
Under coin/pre-provisioning can be found information what have been
provisioned to tier1 image

Visual studios are updated to versions:

MSVC 2019: version 16.3.1
MSVC 2017: version 15.9.16

Task-number: QTQAINFRA-2875
Change-Id: I3a9748296dcf088bb312dec8f78bdc59dfb281d1
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-11-07 21:59:25 +02:00
Liang Qi
44cf8f65a2 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	.gitmodules
	coin/platform_configs/default.yaml

Change-Id: I6adccbdcd3a4b794380a2e202e567146e663c15f
2019-10-04 12:55:57 +02:00
Liang Qi
14d2852597 Merge remote-tracking branch 'origin/dev' into wip/qt6
Conflicts:
	.gitmodules
		Ignore qtquick3d for now.
	coin/platform_configs/default.txt
	coin/platform_configs/default.yaml
	coin/platform_configs/qtbase.txt
	coin/platform_configs/qtbase.yaml
		We use yaml files for configurations now.
		Adjust the configurations for Qt6 as it was
		    done before in the .txt files.

Done-With: Alexandru Croitor <alexandru.croitor@qt.io>
Change-Id: Ica164f8865aed011c550ba7e1e8137e2bf9fdda9
2019-09-13 14:04:47 +02:00
Assam Boudjelthia
d581d86fc5 Provisioning: update QEMU toolchains
* Update QEMU toolchains to Yocto thud(2.6) release(DC Qt 5.13.0) with
GCC 8.2.0.
* Suppress QEMU "Unsupported syscall" and "Unsupported ioctl" logs,
set environment variable QEMU_SYSCALL_DEBUG to show them.

Task-number: QTQAINFRA-2808
Change-Id: I987353b0f3aff87a02ea3bf96ace8de32d6f557b
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-07 07:09:24 +00:00
Liang Qi
03d4a54e34 Merge remote-tracking branch 'origin/5.12' into 5.13.1
Conflicts:
	.gitmodules
	coin/platform_configs/qtbase.yaml

Change-Id: I964ffb430436c62ad675fabc853642800499ade3
2019-08-08 15:31:47 +02:00
Tony Sarajärvi
b88acae7a8 Partially revert 'Do DeveloperBuild for Boot2Qt'
This partially reverts commit 8f073cea69.

Autotests slow down way too much still, so we can't run developers
builds eveywhere.

Task-number: QTBUG-63152
Task-number: QTBUG-77304
Task-number: COIN-326
Change-Id: I04b673c2ebfae6c0f6cbc09242cce2e273c7111c
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-08-08 12:19:38 +00:00
Liang Qi
a94696ccd5 Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	.gitmodules
		ignore QtWebEngine on QEMU temporarily.
	coin/platform_configs/default.yaml
		no-gui build was removed temporarily.
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtconnectivity.yaml
	coin/platform_configs/qtsaferenderer.yaml

Task-number: QTQAINFRA-2576
Task-number: QTBUG-77304
Task-number: QTBUG-77305
Done-With: Tony Sarajärvi <tony.sarajarvi@qt.io>
Change-Id: If7cf75791677eace762374b92382a2ce15f17f55
2019-08-03 00:02:43 +02:00
Toni Saario
439a1eb220 Change configuration files into yaml format
Change-Id: I252908e9eae3a254f32a286608734b5728cd60b8
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
2019-07-01 10:28:29 +02:00