#!/usr/bin/env bash # Copyright (C) 2023 The Qt Company Ltd. # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # shellcheck source=./SetEnvVar.sh source "${BASH_SOURCE%/*}/SetEnvVar.sh" # shellcheck source=./DownloadURL.sh source "${BASH_SOURCE%/*}/DownloadURL.sh" version="3.1.56" versionNode="v16.20.0" tarBallVersion="${version//./_}" if uname -a |grep -q Darwin; then tarBallPackage="emsdk_macos_${tarBallVersion}.tar.gz" sha="24c49db971da4fd7c68f6b71984c3d7775fdfb84" else tarBallPackage="emsdk_linux_${tarBallVersion}.tar.gz" sha="410c93bb2ab3b244190c2cb5f0ff1ce5d6ac4eb5" fi cacheUrl="https://ci-files01-hki.ci.qt.io/input/emsdk/${tarBallPackage}" target="/tmp/${tarBallPackage}" mkdir -p /opt cd /opt echo "URL: $cacheUrl" if DownloadURL "$cacheUrl" "" "$sha" "$target"; then sudo tar -xzf "$target" -C /opt/ sudo rm -f "$target" else echo "Emsdk isn't cached. Cloning it" sudo git clone https://github.com/emscripten-core/emsdk.git cd emsdk sudo ./emsdk install "$version" sudo ./emsdk activate "$version" fi # platform-specific toolchain and node binaries. urls obtained from "emsdk install" if uname -a |grep -q Darwin; then pathNodeExecutable="node-$versionNode-darwin-x64/bin/node" else pathNodeExecutable="node-$versionNode-linux-x64/bin/node" fi emsdkPath="/opt/emsdk/" emscriptenPath="${emsdkPath}upstream/emscripten/" SetEnvVar "PATH" "\"\$PATH:${emscriptenPath}\"" SetEnvVar "EMSCRIPTEN" "${emscriptenPath}" SetEnvVar "EMSDK" "${emsdkPath}" SetEnvVar "EMSDK_NODE" "${emsdkPath}${pathNodeExecutable}" echo "Emsdk = $version" >> ~/versions.txt