annotate Samples/WebAssembly/docker-internal.sh @ 1493:c9bdf73a8817

fix docker-internal.sh for CIS
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 25 Jun 2020 14:08:10 +0200
parents 4b5ec9ea268e
children 5a3ef478deb6
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"
1493
c9bdf73a8817 fix docker-internal.sh for CIS
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1492
diff changeset
15 # folder next to the "CMakeLists.txt". We don't use "hg archive", but
c9bdf73a8817 fix docker-internal.sh for CIS
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1492
diff changeset
16 # "hg clone", as the "/source" folder might be created by a more
c9bdf73a8817 fix docker-internal.sh for CIS
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1492
diff changeset
17 # recent version of Mercurial, triggering the error "repository
c9bdf73a8817 fix docker-internal.sh for CIS
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1492
diff changeset
18 # requires features unknown to this Mercurial: sparserevlog!"
c9bdf73a8817 fix docker-internal.sh for CIS
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1492
diff changeset
19 # (cf. https://www.mercurial-scm.org/wiki/MissingRequirement).
1492
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 cd /source
1493
c9bdf73a8817 fix docker-internal.sh for CIS
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1492
diff changeset
21 hg clone /source /tmp/source-writeable
1492
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 mkdir /tmp/build
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 cd /tmp/build
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 cmake /tmp/source-writeable/Samples/WebAssembly \
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 -DCMAKE_BUILD_TYPE=$1 \
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 -DCMAKE_INSTALL_PREFIX=/target \
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 -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
30 -DORTHANC_FRAMEWORK_ROOT=/tmp/orthanc \
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 -DSTATIC_BUILD=ON \
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 -G Ninja
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33
4b5ec9ea268e Building WebAssembly samples using Docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 ninja -j2 install