Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Zverev <zverik@textual.ru>2015-06-24 18:30:55 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:52:18 +0300
commit2d7eb906e637855823706188914a7594c9c714f4 (patch)
treec1bd8e85b538ea7016a9314b6908a180a30b136b
parent19545553db1d25f9b484344254cd60e1de7c8706 (diff)
[build] OMIM build script
-rwxr-xr-xtools/unix/build_omim.sh84
1 files changed, 84 insertions, 0 deletions
diff --git a/tools/unix/build_omim.sh b/tools/unix/build_omim.sh
new file mode 100755
index 0000000000..4f449335f7
--- /dev/null
+++ b/tools/unix/build_omim.sh
@@ -0,0 +1,84 @@
+#!/bin/bash
+OPT_DEBUG=
+OPT_RELEASE=
+OPT_OSRM=
+OPT_CLEAN=
+while getopts ":cdro" opt; do
+ case $opt in
+ d)
+ OPT_DEBUG=1
+ ;;
+ r)
+ OPT_RELEASE=1
+ ;;
+ o)
+ OPT_OSRM=1
+ ;;
+ c)
+ OPT_CLEAN=1
+ ;;
+ *)
+ echo "This tool builds omim and osrm-backend."
+ echo "Usage: $0 [-d] [-r] [-o] [-c]"
+ echo
+ echo -e "-d\tBuild omim-debug"
+ echo -e "-r\tBuild omim-release"
+ echo -e "-o\tBuild osrm-backend"
+ echo -e "-c\tClean before building"
+ echo
+ echo "By default everything is built. Specify TARGET for omim-* if needed."
+ exit 1
+ ;;
+ esac
+done
+
+# By default build everything
+if [ -z "$OPT_DEBUG$OPT_RELEASE$OPT_OSRM" ]; then
+ OPT_DEBUG=1
+ OPT_RELEASE=1
+ OPT_OSRM=1
+fi
+
+set -x -u -e
+
+BOOST_PATH=/usr/local/boost_1.54.0
+DEVTOOLSET_PATH=/opt/rh/devtoolset-2
+OMIM_PATH="$(cd "${OMIM_PATH:-$(dirname "$0")/../..}"; pwd)"
+export MANPATH=""
+. "$DEVTOOLSET_PATH/enable"
+
+build_conf()
+{
+ CONF=$1
+ DIRNAME="${TARGET:-$OMIM_PATH/..}/omim-build-$CONF"
+ [ -d "$DIRNAME" -a -n "$OPT_CLEAN" ] && rm -r "$DIRNAME"
+
+ if [ ! -d "$DIRNAME" ]; then
+ mkdir "$DIRNAME"
+ ln -s "$OMIM_PATH/data" "$DIRNAME/data"
+ fi
+
+ (
+ export BOOST_INCLUDEDIR="$BOOST_PATH/include"
+ cd "$DIRNAME"
+ qmake-qt5 -r "$OMIM_PATH/omim.pro" -spec linux-clang CONFIG+=$CONF \
+ "QMAKE_CXXFLAGS *=--gcc-toolchain=$DEVTOOLSET_PATH/root/usr" \
+ "QMAKE_LFLAGS *=--gcc-toolchain=$DEVTOOLSET_PATH/root/usr"
+ make -j 20
+ )
+}
+
+[ -n "$OPT_DEBUG" ] && build_conf debug
+[ -n "$OPT_RELEASE" ] && build_conf release
+
+if [ -n "$OPT_OSRM" ]; then
+ OSRM_TARGET="${OSRM_TARGET:-$OMIM_PATH/3party/osrm/osrm-backend/build}"
+ [ -d "$OSRM_TARGET" -a -n "$OPT_CLEAN" ] && rm -r "$OSRM_TARGET"
+ mkdir -p "$OSRM_TARGET"
+ (
+ cd "$OSRM_TARGET"
+ cmake28 -DBOOST_INCLUDEDIR=$BOOST_PATH/include/ -DBOOST_LIBRARYDIR=$BOOST_PATH/lib/ ..
+ make clean
+ make
+ )
+fi