[build] updated dependancies
[ozulis.git] / configure
blob93a623246d284b328ea9d58e333d9eed1304d9a5
1 #! /bin/sh
3 ROOTDIR=$PWD
4 BUILDDIR=build
5 VERBOSE=OFF
6 COLOR=ON
7 CCACHE=ON
8 DEBUG=1
9 MAKEOPT="--quiet -j$(($(grep processor /proc/cpuinfo | wc -l) + 1))"
10 CPPFLAGS=""
11 CFLAGS="-W -Wall -Wstrict-prototypes -pipe"
12 CFLAGS="$CFLAGS -Wfloat-equal -Wundef -Wshadow -Wpointer-arith"
13 CFLAGS="$CFLAGS -Wmissing-declarations -Wnested-externs"
14 CFLAGS="$CFLAGS -Wmissing-prototypes -fPIC"
15 CXXFLAGS="-W -Wall -pipe -Wundef -Wshadow -Wpointer-arith -Wabi -std=c++0x -fPIC"
16 LDFLAGS=""
17 PREFIX="/usr/local"
19 function usage()
21 echo -n "usage: $0
22 --verbose verbose Makefiles
23 --no-color no colors
24 --no-debug disable debug
25 --debug enables debug
27 exit
30 function update_install_path()
32 eval 'if [[ -z "$'"$1"'" ]] ; then
33 '"$1"'="${PREFIX}/$2"
34 fi'
37 until [[ $# -eq 0 ]] ;
39 case "$1" in
40 --verbose)
41 VERBOSE=ON
42 MAKEOPT="$(echo $MAKEOPT | sed s,--quiet,,g)"
44 --no-color)
45 COLOR=OFF
47 --no-debug)
48 DEBUG=0
50 --debug)
51 DEBUG=1
53 --ccache)
54 CCACHE=ON
56 --no-ccache)
57 CCACHE=OFF
59 --build-dir=*)
60 BUILDDIR="${1/--build-dir=/}"
62 --prefix=*)
63 PREFIX="${1/--prefix=/}"
65 --libdir=*)
66 LIBDIR="${1/--libdir=/}"
68 --plugindir=*)
69 PLUGINDIR="${1/--plugindir=/}"
71 --bindir=*)
72 BINDIR="${1/--bindir=/}"
75 usage
77 esac
78 shift
79 done
81 update_install_path LIBDIR lib
82 update_install_path PLUGINDIR lib/ozulis
83 update_install_path BINDIR bin
85 if ! which ccache 2>&1 >/dev/null; then
86 CCACHE=OFF
89 if [[ $DEBUG -eq 0 ]]; then
90 CFLAGS="$CFLAGS -DNDEBUG"
91 CXXFLAGS="$CXXFLAGS -DNDEBUG"
92 else
93 CFLAGS="$CFLAGS -ggdb"
94 CXXFLAGS="$CXXFLAGS -ggdb"
97 if [[ $CCACHE = "ON" ]] ; then
98 mkdir -p .ccache
99 ln -sf $(which ccache) .ccache/g++
100 ln -sf $(which ccache) .ccache/gcc
101 export CC="$PWD/.ccache/gcc"
102 export CXX="$PWD/.ccache/g++"
105 CPPFLAGS="${CPPFLAGS} -DOZULIS_PREFIX=\\\"${PREFIX}\\\" -DOZULIS_LIBDIR=\\\"${LIBDIR}\\\" -DOZULIS_PLUGINDIR=\\\"${PLUGINDIR}\\\" -DOZULIS_BINDIR=\\\"${BINDIR}\\\""
106 CFLAGS="${CPPFLAGS} ${CFLAGS}"
107 CXXFLAGS="${CPPFLAGS} ${CXXFLAGS}"
109 export CPPFLAGS
110 export CFLAGS
111 export CXXFLAGS
112 export LDFLAGS
113 rm -rf $BUILDDIR
114 mkdir $BUILDDIR &&
115 cd $BUILDDIR &&
116 cmake $ROOTDIR
117 cmake \
118 -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE \
119 -DCMAKE_COLOR_MAKEFILE=$COLOR \
120 -DCMAKE_INSTALL_PREFIX="$PREFIX" \
123 cd $ROOTDIR &&
124 cat >config.mk <<EOF
125 BUILDDIR=$BUILDDIR
126 MAKEOPT=$MAKEOPT
128 rm -f ozulis && ln -sf "$BINDIR/ozulis"