annotate INSTALL @ 69:689c82e7d07e

Fix documented Linux build requirements.
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 26 May 2015 12:44:10 +0200
parents 508a71328d1f
children 3039cafdabfd
rev   line source
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
1 /** @file INSTALL
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
2 @brief Installation Instructions
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
3 *******************************
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
4
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
5 For Debian based GNU / Linux
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
6 ============================
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
7 Tested development platform: Ubuntu 14.4 amd64.
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
8
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
9 Build dependencies are:
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
10
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
11 build-essential cmake libqt5core5a qttools5-dev-tools qt5-default \
69
689c82e7d07e Fix documented Linux build requirements.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 65
diff changeset
12 qtbase5-dev qtbase5-dev-tools qttools5-dev inkscape mercurial curl
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
13
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
14 This document expects the following setup for build and installation.
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
15 It is recommended to set a custom installation prefix to avoid root
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
16 privileges.
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
17
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
18 export CUSTOM_PREFIX=<Prefix of your choice (default /usr)>
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
19 mkdir -p $CUSTOM_PREFIX/bin
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
20 export PATH=$CUSTOM_PREFIX/bin:$PATH
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
21
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
22 Configure the according Root CA if necessary:
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
23
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
24 echo "[web]" >> ~/.hgrc
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
25 echo "cacerts=~/wald-ca.pem" >> ~/.hgrc
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
26 curl https://ssl.intevation.de/Intevation-Root-CA-2010.crt > ~/wald-ca.pem
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
27
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
28 Checkout retraceit sources:
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
29
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
30 hg clone https://wald.intevation.org/hg/retraceit/
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
31
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
32 Building the Software:
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
33
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
34 cd retraceit
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
35 mkdir build-native
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
36 cd build-native
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
37 cmake .. -DCMAKE_PREFIX_PATH=$CUSTOM_PREFIX
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
38
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
39 For Microsoft Windows
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
40 =====================
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
41 The Windows variant should be cross compiled from a Debian based GNU/Linux
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
42 system. The minimum requirement is Debian stable.
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
43
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
44 Tested development platform is Ubuntu 14.4
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
45
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
46 Dependencies on the Host system:
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
47
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
48 git autoconf automake bash bison bzip2 \
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
49 cmake flex gettext git g++ intltool \
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
50 libffi-dev libtool libltdl-dev libssl-dev \
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
51 libxml-parser-perl make openssl patch perl \
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
52 pkg-config scons sed unzip curl xz-utils autopoint \
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
53 gperf
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
54
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
55 Build the windows binaries:
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
56
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
57 MXEPATH=$CUSTOM_PREFIX/win
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
58 git clone https://github.com/Intevation/mxe.git $MXEPATH
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
59 cd $MXEPATH
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
60 git checkout replay-it
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
61 echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
62 make qtbase
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
63
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
64 Add CMAKE_STRIP to the toolchain file:
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
65
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
66 echo "set(CMAKE_STRIP $MXEPATH/usr/bin/i686-w64-mingw32.static-strip)" >> \
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
67 "$MXEPATH/usr/i686-w64-mingw32.static/share/cmake/mxe-conf.cmake"
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
68
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
69 Compile the software:
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
70
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
71 cd retraceit
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
72 mkdir build-windows
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
73 cd build-windows
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
74 MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
75 cmake .. \
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
76 -DCMAKE_PREFIX_PATH="$MXETARGET/qt5;$MXETARGET;" \
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
77 -DCMAKE_TOOLCHAIN_FILE="$MXETARGET/share/cmake/mxe-conf.cmake" \
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
78 -DCMAKE_VERBOSE_MAKEFILE=True
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
79 make
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
80
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
81 The binary is created under:
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
82
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
83 build-windows/src/retraceit.exe
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
84
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
85 This binary can be compressed with UPX or directly used. Without further
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
86 dependencies.
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
87
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
88 For MacOSX
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
89 ==========
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
90 Install the usual development tools / xcode.
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
91
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
92 Define some paths for the build environment:
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
93
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
94 export CUSTOM_PREFIX=~/retraceit
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
95
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
96 export PATH=$CUSTOM_PREFIX/bin:$PATH
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
97 export DYLD_LIBRARY_PATH=$CUSTOM_PREFIX/lib:$DYLD_LIBRARY_PATH
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
98 export PKG_CONFIG_PATH=$CUSTOM_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
99
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
100 Download qt:
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
101
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
102 curl -O http://qt-mirror.dannhauer.de/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.xz
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
103 shasum qt-everywhere-opensource-src-5.3.2.tar.xz
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
104
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
105 Should match: fb156a87a193c9a7a2fa51efc89660a3b619ace5
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
106
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
107 Build and extract:
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
108
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
109 tar -xf qt-everywhere-opensource-src-5.3.2.tar.xz
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
110 cd qt-everywhere-opensource-src-5.3.2/qtbase
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
111
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
112 ./configure \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
113 -release -nomake tests -nomake examples -confirm-license \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
114 -static -no-cups -no-nis -no-icu -no-fontconfig -qt-freetype \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
115 -no-directfb -no-kms -no-openssl -no-glib \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
116 -no-nis -no-libjpeg -qt-libpng \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
117 -qt-zlib -no-gif -no-xinput2 -opensource -confirm-license \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
118 -prefix $CUSTOM_PREFIX -no-framework
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
119
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
120 make -j `sysctl hw.ncpu | cut -f 2 -d " "`
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
121 make install
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
122
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
123 Download mercurial:
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
124
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
125 wget https://mercurial.selenic.com/mac/binaries/Mercurial-3.4-py2.7-macosx10.10.zip
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
126 shasum Mercurial-3.4-py2.7-macosx10.10.zip
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
127
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
128 Should match: 1380790ae7f7d8060e937d386be3103c173e450d
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
129
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
130 unzip Mercurial-3.4-py2.7-macosx10.10.zip
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
131
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
132 Install the .mpkg
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
133
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
134 Configure to be usable with wald certificate:
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
135
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
136 echo "[web]" >> ~/.hgrc
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
137 echo "cacerts=~/wald-ca.pem" >> ~/.hgrc
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
138 curl https://ssl.intevation.de/Intevation-Root-CA-2010.crt > ~/wald-ca.pem
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
139
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
140 Download cmake:
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
141 curl -O http://www.cmake.org/files/v3.2/cmake-3.2.2-Darwin-x86_64.dmg
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
142 shasum cmake-3.2.2-Darwin-x86_64.dmg
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
143
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
144 Should match: d0f4172a3c72764f06146e4f949367c8029e71ed
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
145
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
146 Install the .dmg and add cmake to the path.
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
147
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
148 export PATH=/Volumes/Macintosh\ HD/Applications/CMake.app/Contents/bin/:$PATH
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
149
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
150 Now for retraceit:
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
151
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
152 hg clone https://wald.intevation.org/hg/retraceit/
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
153 cd retraceit
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
154 mkdir build && cd buld
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
155 cmake .. \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
156 -DCMAKE_PREFIX_PATH=$CUSTOM_PREFIX \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
157 -DCMAKE_INSTALL_PREFIX=$CUSTOM_PREFIX \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
158 -DCMAKE_VERBOSE_MAKEFILE=True
63
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
159 make
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
160 make install
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
161
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
162 The make install will create a retraceit.app in your $CUSTOM_PREFIX directory.
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
163 This is the deployable application bundle
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
164
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
165 You can now create a .dmg image for distribution:
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
166
63
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
167 mv $CUSTOM_PREFIX/retraceit.app $CUSTOM_PREFIX/RetraceIT.app
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
168 hdiutil create -ov -format UDZO -volname RetraceIT -srcfolder RetraceIT.app \
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
169 -o RetraceIT.dmg -imagekey zlib-level=9
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
170
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
171 */
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)