Mercurial > hg > orthanc-webviewer
annotate Resources/holy-build-box-compile.sh @ 321:705be6d59d9b default tip
fix build on tumbleweed
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 11 Jun 2024 12:57:30 +0200 |
parents | 07bc649bade7 |
children |
rev | line source |
---|---|
224
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1 #!/bin/bash |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2 |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3 ## |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4 ## This script compiles cross-distribution Linux binaries thanks to |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5 ## Holy Build Box: https://github.com/phusion/holy-build-box |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6 ## |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7 ## The ideal solution would be to use Linux Standard Base |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8 ## (LSB). Unfortunately, the LSB C++ compiler is a pre-4.8 gcc that |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
9 ## does not feature full C++11 capabilities, which prevents compiling |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
10 ## GDCM >= 3.0. |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
11 ## |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
12 |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
13 set -ex |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
14 |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
15 if [ "$1" != "Debug" -a "$1" != "Release" ]; then |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
16 echo "Please provide build type: Debug or Release" |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
17 exit -1 |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
18 fi |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
19 |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
20 if [ -t 1 ]; then |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
21 # TTY is available => use interactive mode |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
22 DOCKER_FLAGS='-i' |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
23 fi |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
24 |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
25 ROOT_DIR=`dirname $(readlink -f $0)`/.. |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
26 |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
27 mkdir -p ${ROOT_DIR}/holy-build-box |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
28 |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
29 docker run -t ${DOCKER_FLAGS} --rm \ |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
30 --user $(id -u):$(id -g) \ |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
31 -v ${ROOT_DIR}:/source:ro \ |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
32 -v ${ROOT_DIR}/holy-build-box:/target:rw \ |
313
07bc649bade7
upgraded holy-build-box for compatibility with new buildbot worker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
224
diff
changeset
|
33 phusion/holy-build-box-64:3.0.5 \ |
224
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
34 bash /source/Resources/holy-build-box-internal.sh $1 |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
35 |
8f30b077cdb8
compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
36 ls -lR ${ROOT_DIR}/holy-build-box/ |