aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
authorHeikki Halmet <heikki.halmet@qt.io>2018-11-07 11:39:44 +0200
committerLiang Qi <liang.qi@qt.io>2019-01-29 12:10:57 +0000
commit8ba5474da792b2aaa54fcbae46abc440857332ba (patch)
tree67c73588514c82794a28a68840398b754887f270 /coin
parent54cdba9e3dbedcb5567628a29f938fddacba828a (diff)
Provisioning: Install Google's Protocol Buffers
Protobuf is needed for Automotive Suite Task-number: QTQAINFRA-2314 Change-Id: I12b4248f1de5aea88f573297a47b791b5b6296fb Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Diffstat (limited to 'coin')
-rwxr-xr-xcoin/provisioning/common/unix/install_protobuff.sh75
-rw-r--r--coin/provisioning/common/windows/install-protobuf.ps164
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/60-install_protobuff.sh40
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/35-install_protobuff.sh40
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/92-install-protobuf.ps12
5 files changed, 221 insertions, 0 deletions
diff --git a/coin/provisioning/common/unix/install_protobuff.sh b/coin/provisioning/common/unix/install_protobuff.sh
new file mode 100755
index 00000000..59e9b699
--- /dev/null
+++ b/coin/provisioning/common/unix/install_protobuff.sh
@@ -0,0 +1,75 @@
+#!/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$
+##
+#############################################################################
+
+# shellcheck source=./DownloadURL.sh
+source "${BASH_SOURCE%/*}/DownloadURL.sh"
+# shellcheck source=./SetEnvVar.sh
+source "${BASH_SOURCE%/*}/SetEnvVar.sh"
+
+# This script will install Google's Protocal Buffers which is needed by Automotive Suite
+
+version="3.6.1"
+sha1="44b8ba225f3b4dc45fb56d5881ec6a91329802b6"
+internalUrl="http://ci-files01-hki.intra.qt.io/input/automotive_suite/protobuf-all-$version.zip"
+externalUrl="https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-all-$version.zip"
+
+targetDir="$HOME/protobuf-$version"
+targetFile="$targetDir.zip"
+DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile"
+unzip "$targetFile" -d "$HOME"
+sudo rm "$targetFile"
+
+# devtoolset is needed when running configuration
+if uname -a |grep -qv "Darwin"; then
+ export PATH="/opt/rh/devtoolset-4/root/usr/bin:$PATH"
+fi
+
+echo "Configuring and building protobuf"
+cd "$targetDir"
+if uname -a |grep -q Darwin; then
+ ./configure --prefix "$(xcrun --sdk macosx --show-sdk-path)/usr/local"
+ SetEnvVar PATH "\$PATH:$(xcrun --sdk macosx --show-sdk-path)/usr/local/bin"
+else
+ ./configure
+fi
+make
+sudo make install
+
+# Refresh shared library cache if OS isn't macOS
+if uname -a |grep -qv "Darwin"; then
+ sudo ldconfig
+fi
+
+sudo rm -r "$targetDir"
diff --git a/coin/provisioning/common/windows/install-protobuf.ps1 b/coin/provisioning/common/windows/install-protobuf.ps1
new file mode 100644
index 00000000..fd3fb3d3
--- /dev/null
+++ b/coin/provisioning/common/windows/install-protobuf.ps1
@@ -0,0 +1,64 @@
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install Google's Protocol Buffers
+# Script requires Cmake to be installed and strawberry-perl not to be installed
+
+$version = "3.6.1"
+$sha1 = "44b8ba225f3b4dc45fb56d5881ec6a91329802b6"
+$officialUrl = "https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-all-$version.zip"
+$cachedUrl = "http://ci-files01-hki.ci.local/input/automotive_suite/protobuf-all-$version.zip"
+$zip = "C:\Utils\protobuf-all-$version.zip"
+$installationFolder = "C:\Utils\protobuf"
+
+Write-Host "Installing Protocol Buffers"
+Add-Path "C:\CMake\bin"
+Download "$officialUrl" "$cachedUrl" "$zip"
+Verify-Checksum "$zip" "$sha1"
+Extract-7Zip "$zip" C:\Utils
+New-Item -ItemType directory -Force -Path "C:\Utils\protobuf-$version\cmake\build"
+New-Item -ItemType directory -Force -Path "C:\Utils\protobuf-$version\cmake\build\release"
+New-Item -ItemType directory -Force -Path "$installationFolder"
+cd "C:\Utils\protobuf-$version\cmake\build\release"
+cmd /c "`"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\VC\\Auxiliary\\Build\\vcvars64.bat`" && cmake -G `"NMake Makefiles`" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$installationFolder ../.. && nmake && nmake install"
+if(![System.IO.File]::Exists("$installationFolder\bin\protoc.exe")){
+ Write-Host "Can't find $installationFolder\bin\protoc.exe. Installation probably failed!"
+ exit 1
+}
+
+Remove-Item "$zip"
+
+Add-Path "$installationFolder\bin"
+Set-EnvironmentVariable PROTOBUF_INCLUDE "$installationFolder\include"
+Set-EnvironmentVariable PROTOBUF_LIB "$installationFolder\lib"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/60-install_protobuff.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/60-install_protobuff.sh
new file mode 100755
index 00000000..a77938b3
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/60-install_protobuff.sh
@@ -0,0 +1,40 @@
+#!/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
+
+# shellcheck source=../common/unix/install_protobuff.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh"
+
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/35-install_protobuff.sh b/coin/provisioning/qtci-macos-10.13-x86_64/35-install_protobuff.sh
new file mode 100755
index 00000000..a77938b3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/35-install_protobuff.sh
@@ -0,0 +1,40 @@
+#!/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
+
+# shellcheck source=../common/unix/install_protobuff.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh"
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/92-install-protobuf.ps1 b/coin/provisioning/qtci-windows-10-x86_64/92-install-protobuf.ps1
new file mode 100644
index 00000000..8bcdf3fa
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/92-install-protobuf.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-protobuf.ps1"
+