view INSTALL @ 63:3acafcfc52a1

Document bundle creation
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 19 May 2015 16:49:51 +0200
parents 2cd76e6c0fcf
children 508a71328d1f
line wrap: on
line source
/** @file INSTALL
@brief Installation Instructions
*******************************

For Debian based GNU / Linux
============================
Tested development platform: Ubuntu 14.4 amd64.

Build dependencies are:
    build-essential cmake libqt5core5a qttools5-dev-tools qt5-default \
    qtbase-dev qtbase5-dev-tools qttools5-dev inkscape


This document expects the following setup for build and installation.
It is recommended to set a custom installation prefix to avoid root
privileges.

    export CUSTOM_PREFIX=<Prefix of your choice (default /usr)>
    mkdir -p $CUSTOM_PREFIX/bin
    export PATH=$CUSTOM_PREFIX/bin:$PATH

Building the Software:
    cd <PATH_TO_REPO>
    mkdir build-native
    cd build-native
    cmake .. -DCMAKE_PREFIX_PATH=$CUSTOM_PREFIX

For Microsoft Windows
=====================
The Windows variant should be cross compiled from a Debian based GNU/Linux
system. The minimum requirement is Debian stable.

Tested development platform is Ubuntu 14.4

Dependencies on the Host system:

    apt-get install git autoconf automake bash bison bzip2 \
    cmake flex gettext git g++ intltool \
    libffi-dev libtool libltdl-dev libssl-dev \
    libxml-parser-perl make openssl patch perl \
    pkg-config scons sed unzip curl xz-utils autopoint \
    gperf

Build the windows binaries:

    MXEPATH=$CUSTOM_PREFIX/win
    git clone https://github.com/Intevation/mxe.git $MXEPATH
    cd $MXEPATH
    git checkout replay-it
    echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk
    make qtbase

Add CMAKE_STRIP to the toolchain file:

    echo "set(CMAKE_STRIP $MXEPATH/usr/bin/i686-w64-mingw32.static-strip)" >> \
        "$MXEPATH/usr/i686-w64-mingw32.static/share/cmake/mxe-conf.cmake"

Compile the software:

    cd repo
    mkdir build-windows
    cd build-windows
    MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/
    cmake .. \
        -DCMAKE_PREFIX_PATH="$MXETARGET/qt5;$MXETARGET;" \
        -DCMAKE_TOOLCHAIN_FILE="$MXETARGET/share/cmake/mxe-conf.cmake" \
        -DCMAKE_VERBOSE_MAKEFILE=True

For MacOSX
==========
Install the usual development tools / xcode.

Define some paths for the build environment:
export CUSTOM_PREFIX=~/retraceit

export PATH=$CUSTOM_PREFIX/bin:$PATH
export DYLD_LIBRARY_PATH=$CUSTOM_PREFIX/lib:$DYLD_LIBRARY_PATH
export PKG_CONFIG_PATH=$CUSTOM_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH


Download qt:

    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
    shasum qt-everywhere-opensource-src-5.3.2.tar.xz

Should match: fb156a87a193c9a7a2fa51efc89660a3b619ace5

Build and extract:

    tar -xf qt-everywhere-opensource-src-5.3.2.tar.xz
    cd qt-everywhere-opensource-src-5.3.2/qtbase

    ./configure \
       -release  -nomake tests  -nomake examples  -confirm-license \
       -static -no-cups -no-nis -no-icu -no-fontconfig -qt-freetype \
       -no-directfb -no-kms -no-openssl -no-glib \
       -no-nis -no-libjpeg -qt-libpng \
       -qt-zlib -no-gif -no-xinput2 -opensource -confirm-license \
       -prefix $CUSTOM_PREFIX -no-framework

    make -j `sysctl hw.ncpu  | cut -f 2 -d " "`
    make install

Download mercurial:
    wget https://mercurial.selenic.com/mac/binaries/Mercurial-3.4-py2.7-macosx10.10.zip
    shasum Mercurial-3.4-py2.7-macosx10.10.zip

Should match: 1380790ae7f7d8060e937d386be3103c173e450d

    unzip  Mercurial-3.4-py2.7-macosx10.10.zip

Install the .mpkg 

Configure to be usable with wald certificate
    echo "[web]" >> ~/.hgrc
    echo "cacerts=~/wald-ca.pem" >>  ~/.hgrc
    curl https://ssl.intevation.de/Intevation-Root-CA-2010.crt > ~/wald-ca.pem

Download cmake:
    curl -O http://www.cmake.org/files/v3.2/cmake-3.2.2-Darwin-x86_64.dmg
    shasum cmake-3.2.2-Darwin-x86_64.dmg

Should match: d0f4172a3c72764f06146e4f949367c8029e71ed

Install the .dmg and add cmake to the path.

    export PATH=/Volumes/Macintosh\ HD/Applications/CMake.app/Contents/bin/:$PATH

Now for retraceit:

    hg clone https://wald.intevation.org/hg/retraceit/
    cd retraceit
    mkdir build && cd buld
    cmake .. \
        -DCMAKE_PREFIX_PATH=$CUSTOM_PREFIX \
        -DCMAKE_INSTALL_PREFIX=$CUSTOM_PREFIX \
        -DCMAKE_VERBOSE_MAKEFILE=True
    make
    make install

The make install will create a retraceit.app in your $CUSTOM_PREFIX directory.
This is the deployable application bundle

You can now create a distirbution variant
    mv $CUSTOM_PREFIX/retraceit.app $CUSTOM_PREFIX/RetraceIT.app
    hdiutil create -ov -format UDZO -volname RetraceIT -srcfolder RetraceIT.app \
        -o RetraceIT.dmg -imagekey zlib-level=9

*/
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)