annotate Resources/holy-build-box-internal.sh @ 301:e89cc1536b51

improved CMakeLists.txt
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 23 Jun 2021 09:05:58 +0200
parents 1e84e0663da4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 set -e
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
285
1e84e0663da4 don't override the versions from CMakeLists in Holy Build Box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 283
diff changeset
4 # Holy Build Box doesn't contain "hg", there's no "pip" or
1e84e0663da4 don't override the versions from CMakeLists in Holy Build Box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 283
diff changeset
5 # "easy_install" in Python 2.6 (the version of Holy Build Box) and
1e84e0663da4 don't override the versions from CMakeLists in Holy Build Box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 283
diff changeset
6 # we're running as a standard user. So we have to install Mercurial
1e84e0663da4 don't override the versions from CMakeLists in Holy Build Box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 283
diff changeset
7 # from source.
1e84e0663da4 don't override the versions from CMakeLists in Holy Build Box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 283
diff changeset
8 MERCURIAL=mercurial-5.4.1
1e84e0663da4 don't override the versions from CMakeLists in Holy Build Box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 283
diff changeset
9 cd /tmp
1e84e0663da4 don't override the versions from CMakeLists in Holy Build Box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 283
diff changeset
10 curl https://www.mercurial-scm.org/release/${MERCURIAL}.tar.gz > ${MERCURIAL}.tar.gz
1e84e0663da4 don't override the versions from CMakeLists in Holy Build Box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 283
diff changeset
11 tar xvf ${MERCURIAL}.tar.gz
1e84e0663da4 don't override the versions from CMakeLists in Holy Build Box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 283
diff changeset
12
224
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 # Activate Holy Build Box environment.
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 source /hbb_exe/activate
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 set -x
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 mkdir /tmp/build
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 cd /tmp/build
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 # Holy Build Box defines LDFLAGS as "-L/hbb_exe/lib
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 # -static-libstdc++". The "-L/hbb_exe/lib" option results in linking
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 # errors "undefined reference" to `std::__once_callable',
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 # 'std::__once_call' and '__once_proxy'.
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 export LDFLAGS=-static-libstdc++
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 unset LDPATHFLAGS
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 unset SHLIB_LDFLAGS
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 unset LD_LIBRARY_PATH
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 unset LIBRARY_PATH
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30
285
1e84e0663da4 don't override the versions from CMakeLists in Holy Build Box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 283
diff changeset
31 export PATH=${PATH}:/tmp/${MERCURIAL}/
1e84e0663da4 don't override the versions from CMakeLists in Holy Build Box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 283
diff changeset
32
224
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 mkdir /tmp/source-writeable
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 cp -r /source/CMakeLists.txt /tmp/source-writeable/
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 cp -r /source/Plugin /tmp/source-writeable/
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 cp -r /source/Resources /tmp/source-writeable/
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 cp -r /source/UnitTestsSources /tmp/source-writeable/
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 cp -r /source/WebApplication /tmp/source-writeable/
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 cmake /tmp/source-writeable \
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 -DCMAKE_BUILD_TYPE=$1 -DSTATIC_BUILD=ON \
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 -DCMAKE_INSTALL_PREFIX=/target
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 make -j`nproc`
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 if [ "$1" == "Release" ]; then
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 strip ./libOrthancWebViewer.so
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 fi
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 make install