Files
qt5/coin
Alexandru Croitor 0a3a855774 Build an iOS configuration in Coin
Install ninja from homebrew.

Provision freetype and pcre2 for host builds, like in the
macOS 10.13 case.

Provision homebrew gcc 9 to build vcpkg.
We can't use Xcode 11 clang to build vcpkg, because std::filesystem
is only implemented for macOS 10.15, so the deployment target needs
to be 10.15, and we don't have any 10.15 VMs currently.
Whereas the std::filesystem implementation provided by gcc can work
on lower macOS versions.

When building vcpkg using the Xcode default provided system headers,
the build will fail with the following error:

stdio.h:222:7: error: conflicting declaration of 'char* ctermid(char*)'
with 'C' linkage

_ctermid.h:26:10: note: previous declaration with 'C++' linkage

The Xcode SDK is missing some C++ headers. Usually these are
installed manually via an additional step like the one below,
but only after installing the command line tools.

sudo installer -pkg
/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
-target /

Apparently not all command line tool packages ship this extra header
package, so instead switch the active toolchain to the CLT via
xcode-select -p, which seems to always have the necessary headers
(at least from my testing).

That's why we use the CLT for vcpkg.

Bootstrap vcpkg, and install the iOS 3rd party packages using vcpkg.

Finally add a configuration to build qtbase targeting iOS.

Task-number: QTBUG-75576
Change-Id: Idec885d62b12f96c4830b9ec02b63a89b9cc7b8c
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-12-17 20:45:05 +00:00
..

Continuous Integration
======================

This directory contains files used by Qt's Continuous Integration system (Coin).

pre-provisioning
----------------
Contains scripts which are used to install software to tier1 machines manually.
E.g. Visual studio installation takes too long to be included to automatic provisioning of tier2 templates.

provisioning
------------
Contains scripts that apply to different test machines in order to run automatic tests on them.
For Windows scripts, make sure that the machine has "Set-ExecutionPolicy RemoteSigned -Force" set.
(Run as admin in PowerShell)