annotate INSTALL @ 106:32dd6ea6a582

Explicitly use c++11 as newer qt versions need that.
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 08 Dec 2016 15:21:11 +0100
parents 6965fb5db4b7
children 788b5f239571
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 \
78
6965fb5db4b7 Fix INSTALL dependencies and qt bug workaround command
Andre Heinecke <andre.heinecke@intevation.de>
parents: 76
diff changeset
53 gperf ruby libtool qttools5-dev-tools
73
d69beefb16d3 Fix Windows build documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 72
diff changeset
54
d69beefb16d3 Fix Windows build documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 72
diff changeset
55 Under debian you might additionall need:
d69beefb16d3 Fix Windows build documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 72
diff changeset
56
d69beefb16d3 Fix Windows build documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 72
diff changeset
57 libtool-bin
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
58
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
59 Build the windows binaries:
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
60
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
61 MXEPATH=$CUSTOM_PREFIX/win
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
62 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
63 cd $MXEPATH
73
d69beefb16d3 Fix Windows build documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 72
diff changeset
64 git checkout retraceit
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
65 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
66 make qtbase
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
67
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
68 Add CMAKE_STRIP to the toolchain file:
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
69
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
70 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
71 "$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
72
76
c92502dae3f9 Add note about generated QT CMake build files.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 74
diff changeset
73 Workaround Qt CMake Bugs:
c92502dae3f9 Add note about generated QT CMake build files.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 74
diff changeset
74
c92502dae3f9 Add note about generated QT CMake build files.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 74
diff changeset
75 find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \
c92502dae3f9 Add note about generated QT CMake build files.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 74
diff changeset
76 xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g'
78
6965fb5db4b7 Fix INSTALL dependencies and qt bug workaround command
Andre Heinecke <andre.heinecke@intevation.de>
parents: 76
diff changeset
77 sed -i 's@^_qt5gui_find_extra_libs.*@@' \
76
c92502dae3f9 Add note about generated QT CMake build files.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 74
diff changeset
78 $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
c92502dae3f9 Add note about generated QT CMake build files.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 74
diff changeset
79
74
1215ce843c07 Clarify windows change dir command
Andre Heinecke <andre.heinecke@intevation.de>
parents: 73
diff changeset
80 Compile the software (assuming the source code is already checked out. If not
1215ce843c07 Clarify windows change dir command
Andre Heinecke <andre.heinecke@intevation.de>
parents: 73
diff changeset
81 please refer to the GNU/Linux build documentation how to obtain the source
1215ce843c07 Clarify windows change dir command
Andre Heinecke <andre.heinecke@intevation.de>
parents: 73
diff changeset
82 code):
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
83
74
1215ce843c07 Clarify windows change dir command
Andre Heinecke <andre.heinecke@intevation.de>
parents: 73
diff changeset
84 cd <Path-to-retraceit-source>
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
85 mkdir build-windows
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
86 cd build-windows
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
87 MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
88 cmake .. \
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
89 -DCMAKE_PREFIX_PATH="$MXETARGET/qt5;$MXETARGET;" \
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
90 -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
91 -DCMAKE_VERBOSE_MAKEFILE=True
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
92 make
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
93
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
94 The binary is created under:
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
95
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
96 build-windows/src/retraceit.exe
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
97
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
98 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
99 dependencies.
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
100
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
101 For MacOSX
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
102 ==========
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
103 Install the usual development tools / xcode.
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 Define some paths for the build environment:
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
106
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
107 export CUSTOM_PREFIX=~/retraceit
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
108
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
109 export PATH=$CUSTOM_PREFIX/bin:$PATH
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
110 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
111 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
112
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
113 Download qt:
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
114
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
115 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
116 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
117
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
118 Should match: fb156a87a193c9a7a2fa51efc89660a3b619ace5
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 Build and extract:
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
121
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
122 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
123 cd qt-everywhere-opensource-src-5.3.2/qtbase
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
124
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
125 ./configure \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
126 -release -nomake tests -nomake examples -confirm-license \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
127 -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
128 -no-directfb -no-kms -no-openssl -no-glib \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
129 -no-nis -no-libjpeg -qt-libpng \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
130 -qt-zlib -no-gif -no-xinput2 -opensource -confirm-license \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
131 -prefix $CUSTOM_PREFIX -no-framework
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
132
70
3039cafdabfd Simplify make command for OSX
Andre Heinecke <andre.heinecke@intevation.de>
parents: 69
diff changeset
133 make -j `sysctl -n hw.ncpu`
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
134 make install
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
135
71
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
136 cd .. && \
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
137 cd qttools/src/designer/src/uitools && \
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
138 qmake && \
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
139 make -j `sysctl -n hw.ncpu` && \
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
140 make install
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
141
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
142 cd ../../../linguist && \
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
143 qmake && \
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
144 make -j `sysctl -n hw.ncpu` && \
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
145 make install
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
146
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
147
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
148 Download mercurial:
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
149
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
150 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
151 shasum Mercurial-3.4-py2.7-macosx10.10.zip
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
152
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
153 Should match: 1380790ae7f7d8060e937d386be3103c173e450d
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
154
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
155 unzip Mercurial-3.4-py2.7-macosx10.10.zip
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
156
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
157 Install the .mpkg
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
158
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
159 Configure to be usable with wald certificate:
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
160
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
161 echo "[web]" >> ~/.hgrc
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
162 echo "cacerts=~/wald-ca.pem" >> ~/.hgrc
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
163 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
164
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
165 Download cmake:
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
166 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
167 shasum cmake-3.2.2-Darwin-x86_64.dmg
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
168
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
169 Should match: d0f4172a3c72764f06146e4f949367c8029e71ed
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
170
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
171 Install the .dmg and add cmake to the path.
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
172
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
173 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
174
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
175 Now for retraceit:
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
176
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
177 hg clone https://wald.intevation.org/hg/retraceit/
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
178 cd retraceit
72
f5bf9b7bc332 Fix typo in build documentation for mac
Andre Heinecke <andre.heinecke@intevation.de>
parents: 71
diff changeset
179 mkdir build && cd build
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
180 cmake .. \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
181 -DCMAKE_PREFIX_PATH=$CUSTOM_PREFIX \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
182 -DCMAKE_INSTALL_PREFIX=$CUSTOM_PREFIX \
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
183 -DCMAKE_VERBOSE_MAKEFILE=True
63
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
184 make
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
185 make install
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
186
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
187 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
188 This is the deployable application bundle
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
189
65
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
190 You can now create a .dmg image for distribution:
508a71328d1f Update install / icon documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 63
diff changeset
191
71
05723d818e76 Document OSX localization build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 70
diff changeset
192 mv retraceit.app RetraceIT.app
63
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
193 hdiutil create -ov -format UDZO -volname RetraceIT -srcfolder RetraceIT.app \
3acafcfc52a1 Document bundle creation
Andre Heinecke <andre.heinecke@intevation.de>
parents: 57
diff changeset
194 -o RetraceIT.dmg -imagekey zlib-level=9
57
2cd76e6c0fcf Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
195
0
147b08bc7d64 Initial commit of a basic Application framework.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
196 */
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)