annotate Samples/WebAssembly/docker-internal.sh @ 1492:4b5ec9ea268e

Building WebAssembly samples using Docker
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 25 Jun 2020 09:13:56 +0200
parents
children c9bdf73a8817
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1492
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 #!/bin/bash
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 set -ex
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 source /opt/emsdk/emsdk_env.sh
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 # Use a folder that is writeable by non-root users for the Emscripten cache
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 export EM_CACHE=/tmp/emscripten-cache
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 # Get the Orthanc framework
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 cd /tmp/
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 hg clone https://hg.orthanc-server.com/orthanc/
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 # Make a copy of the source code in a writeable folder, because of
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 # "DownloadPackage.cmake" that writes to the "ThirdPartyDownloads"
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 # folder next to the "CMakeLists.txt"
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 cd /source
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 hg archive /tmp/source-writeable
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 mkdir /tmp/build
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 cd /tmp/build
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 cmake /tmp/source-writeable/Samples/WebAssembly \
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 -DCMAKE_BUILD_TYPE=$1 \
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 -DCMAKE_INSTALL_PREFIX=/target \
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 -DCMAKE_TOOLCHAIN_FILE=${EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake \
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 -DORTHANC_FRAMEWORK_ROOT=/tmp/orthanc \
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 -DSTATIC_BUILD=ON \
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 -G Ninja
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 ninja -j2 install