aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
Diffstat (limited to 'coin')
-rw-r--r--coin/platform_configs/cmake_platforms.yaml40
-rw-r--r--coin/platform_configs/cmake_platforms_qemu.yaml3
-rwxr-xr-xcoin/provisioning/common/linux/sccache.sh43
-rwxr-xr-xcoin/provisioning/common/macos/sccache.sh43
-rwxr-xr-xcoin/provisioning/common/unix/sccache.sh59
-rw-r--r--coin/provisioning/common/windows/install-sccache.ps165
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/24-sccache.sh3
-rw-r--r--coin/provisioning/qtci-windows-10-x86/100-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/100-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/100-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/100-install-sccache.ps11
16 files changed, 255 insertions, 20 deletions
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml
index 9408d340..72153c10 100644
--- a/coin/platform_configs/cmake_platforms.yaml
+++ b/coin/platform_configs/cmake_platforms.yaml
@@ -3,19 +3,21 @@ Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
- Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DQT_NAMESPACE=TestNamespace -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
- Environment variables: ['NON_QTBASE_CONFIGURE_ARGS=']
+ Features: ['Sccache']
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DQT_NAMESPACE=TestNamespace -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}} -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
+ Environment variables: ['NON_QTBASE_CONFIGURE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache']
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
- Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
- Environment variables: ['NON_QTBASE_CONFIGURE_ARGS=']
+ Features: ['Sccache']
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}} -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
+ Environment variables: ['NON_QTBASE_CONFIGURE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache']
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
- Features: ['Packaging']
- Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
- Environment variables: ['NON_QTBASE_CONFIGURE_ARGS=']
+ Features: ['Packaging', 'Sccache']
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
+ Environment variables: ['NON_QTBASE_CONFIGURE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache']
-
Template: 'qtci-windows-10-x86_64-51'
Compiler: 'MSVC2019'
@@ -25,30 +27,30 @@ Configurations:
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
- Features: ['Packaging']
- Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}} -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DFEATURE_system_jpeg=OFF -DFEATURE_system_png=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_system_harfbuzz=OFF -DFEATURE_system_doubleconversion=OFF -DFEATURE_libudev=OFF'
- Environment variables: ['NON_QTBASE_CONFIGURE_ARGS=']
+ Features: ['Packaging', 'Sccache']
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}} -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DFEATURE_system_jpeg=OFF -DFEATURE_system_png=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_system_harfbuzz=OFF -DFEATURE_system_doubleconversion=OFF -DFEATURE_libudev=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
+ Environment variables: ['NON_QTBASE_CONFIGURE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache']
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
- Features: ['Packaging']
- Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}} -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DFEATURE_system_jpeg=OFF -DFEATURE_system_png=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_system_harfbuzz=OFF -DFEATURE_system_doubleconversion=OFF -DFEATURE_libudev=OFF'
- Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}', 'NON_QTBASE_CONFIGURE_ARGS=', 'NON_QTBASE_TARGET_CONFIGURE_ARGS=']
+ Features: ['Packaging', 'Sccache']
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}} -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DFEATURE_system_jpeg=OFF -DFEATURE_system_png=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_system_harfbuzz=OFF -DFEATURE_system_doubleconversion=OFF -DFEATURE_libudev=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}', 'NON_QTBASE_CONFIGURE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache', 'NON_QTBASE_TARGET_CONFIGURE_ARGS=']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
- Features: ['Packaging']
- Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
- Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON', 'NON_QTBASE_CONFIGURE_ARGS=', 'NON_QTBASE_TARGET_CONFIGURE_ARGS=']
+ Features: ['Packaging', 'Sccache']
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON', 'NON_QTBASE_CONFIGURE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache', 'NON_QTBASE_TARGET_CONFIGURE_ARGS=']
-
Template: 'qtci-windows-10-x86_64-51'
Compiler: 'Mingw'
- Features: ['Packaging']
- Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DFEATURE_system_zlib=OFF -DFEATURE_system_tiff=OFF -DFEATURE_system_freetype=OFF -DFEATURE_system_jpeg=OFF'
- Environment variables: ['Path={{.Env.MINGW810}}\bin;{{.Env.Path}}', 'NON_QTBASE_CONFIGURE_ARGS=-DFEATURE_system_tiff=OFF']
+ Features: ['Packaging', 'Sccache']
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DFEATURE_system_zlib=OFF -DFEATURE_system_tiff=OFF -DFEATURE_system_freetype=OFF -DFEATURE_system_jpeg=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
+ Environment variables: ['Path={{.Env.MINGW810}}\bin;{{.Env.Path}}', 'NON_QTBASE_CONFIGURE_ARGS=-DFEATURE_system_tiff=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache']
diff --git a/coin/platform_configs/cmake_platforms_qemu.yaml b/coin/platform_configs/cmake_platforms_qemu.yaml
index ab2e5a11..6b3d05d0 100644
--- a/coin/platform_configs/cmake_platforms_qemu.yaml
+++ b/coin/platform_configs/cmake_platforms_qemu.yaml
@@ -5,6 +5,7 @@ Configurations:
Target os: 'QEMU'
Target arch: 'armv7'
Compiler: 'GCC'
+ Features: ['Sccache']
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DFEATURE_developer_build=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=ON -DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/../x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake -DQT_FEATURE_system_harfbuzz=OFF -DCMAKE_AUTOGEN_VERBOSE=ON', 'QT_YOCTO_ENVSETUP={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/../../environment-setup-armv7at2hf-neon-poky-linux-gnueabi', "QT_CMAKE_DIR=/opt/cmake-3.17.2/bin", 'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}', 'GST_PLUGIN_SCANNER=/opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/libexec/gstreamer-1.0/gst-plugin-scanner', 'QT_QUICK_BACKEND=software', 'NON_QTBASE_CONFIGURE_ARGS=', 'NON_QTBASE_TARGET_CONFIGURE_ARGS=']
- Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}} -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DFEATURE_system_jpeg=OFF -DFEATURE_system_png=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_system_harfbuzz=OFF -DFEATURE_system_doubleconversion=OFF -DFEATURE_libudev=OFF -DCMAKE_AUTOGEN_VERBOSE=ON'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}} -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DFEATURE_system_jpeg=OFF -DFEATURE_system_png=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_system_harfbuzz=OFF -DFEATURE_system_doubleconversion=OFF -DFEATURE_libudev=OFF -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
diff --git a/coin/provisioning/common/linux/sccache.sh b/coin/provisioning/common/linux/sccache.sh
new file mode 100755
index 00000000..bad0cd3a
--- /dev/null
+++ b/coin/provisioning/common/linux/sccache.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2018 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../unix/sccache.sh"
+
+targetArch=x86_64-unknown-linux-musl
+targetVersion=0.2.13-alpha-0
+sha1=0cb28f7408e5246bc71132f27d86301c30e16c74
+installSccache "$targetArch" "$targetVersion" "$sha1"
diff --git a/coin/provisioning/common/macos/sccache.sh b/coin/provisioning/common/macos/sccache.sh
new file mode 100755
index 00000000..093dd618
--- /dev/null
+++ b/coin/provisioning/common/macos/sccache.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../unix/sccache.sh"
+
+targetArch=x86_64-apple-darwin
+targetVersion=0.2.13-alpha-0
+sha1=8fe82ddc05a25debc314ea1a8cda665cddb90f72
+installSccache "$targetArch" "$targetVersion" "$sha1"
diff --git a/coin/provisioning/common/unix/sccache.sh b/coin/provisioning/common/unix/sccache.sh
new file mode 100755
index 00000000..9c039d11
--- /dev/null
+++ b/coin/provisioning/common/unix/sccache.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2018 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+## comment fo changin patchset..coin privision issue
+
+function installSccache {
+ targetArch=$1
+ targetVersion=$2
+ sha1=$3
+ targetFile=sccache-$targetVersion-$targetArch.tar.gz
+ primaryUrl=http://ci-files01-hki.intra.qt.io/input/sccache/$targetFile
+ cacheUrl=https://github.com/mozilla/sccache/releases/download/$targetVersion/$targetFile
+ DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
+
+ sudo mkdir -p /usr/local/sccache
+ sudo tar -C /usr/local/sccache -x -z --totals --strip-components=1 --file="$targetFile"
+
+ # add sccache __before__ the real compiler
+ SetEnvVar "PATH" "/usr/local/sccache:\$PATH"
+
+ # disable sccache server from shutting down after being idle
+ SetEnvVar "SCCACHE_IDLE_TIMEOUT" "0"
+}
diff --git a/coin/provisioning/common/windows/install-sccache.ps1 b/coin/provisioning/common/windows/install-sccache.ps1
new file mode 100644
index 00000000..6206030a
--- /dev/null
+++ b/coin/provisioning/common/windows/install-sccache.ps1
@@ -0,0 +1,65 @@
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# Install mozilla sccache
+
+param(
+ [string]$arch="x86_64-pc-windows-msvc",
+ [string]$version="0.2.13-alpha-0",
+ [string]$sha1="39ee0b0b98aa20c54a75ba1cb3116ea694e83c38"
+)
+
+. "$PSScriptRoot\helpers.ps1"
+
+$basename = "sccache-" + $version + "-" + $arch
+$zipfile = $basename + ".tar.gz"
+$tempfile = "C:\Windows\Temp\" + $zipfile
+$urlCache = "http://ci-files01-hki.intra.qt.io/input/sccache/" + $zipfile
+$urlOfficial = "https://github.com/mozilla/sccache/releases/download/" + $version + "/" + $zipfile
+$targetFolder = "C:\Program Files\"
+
+Write-Host "Downloading sccache $version..."
+Download $urlOfficial $urlCache $tempfile
+Verify-Checksum $tempfile $sha1
+Write-Host "Extracting $tempfile to $targetFolder..."
+Extract-tar_gz $tempfile $targetFolder
+Remove-Item -Path $tempfile
+
+# Turnoff idle timeout to avoid sccache shutting down
+Set-EnvironmentVariable "SCCACHE_IDLE_TIMEOUT" "0"
+
+# add sccache to PATH
+Set-EnvironmentVariable "PATH" "C:\Program Files\$basename\;$([Environment]::GetEnvironmentVariable('PATH', 'Machine'))"
+
+# update versions
+Write-Output "sccache = $version" >> ~\versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-10.13-x86_64/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-10.14-x86_64/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-windows-10-x86/100-install-sccache.ps1 b/coin/provisioning/qtci-windows-10-x86/100-install-sccache.ps1
new file mode 100644
index 00000000..9fc79ec1
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/100-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1" "x86-pc-windows-gnu" "0.2.13-alpha-0" "287f4c3b7db21b72138704b8fe96827e6b1643a8"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/100-install-sccache.ps1 b/coin/provisioning/qtci-windows-10-x86_64/100-install-sccache.ps1
new file mode 100644
index 00000000..0794bff3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/100-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86/100-install-sccache.ps1 b/coin/provisioning/qtci-windows-8.1-x86/100-install-sccache.ps1
new file mode 100644
index 00000000..0794bff3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86/100-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/100-install-sccache.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/100-install-sccache.ps1
new file mode 100644
index 00000000..0794bff3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/100-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1"