Mercurial > retraceit
annotate INSTALL @ 95:ad78dc946ed3
Change goBack to go to subfolder selection
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 29 Jun 2015 15:39:57 +0200 |
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 */ |