cleaned some code
[ozulis.git] / configure
blobaeeef7ee7cfc03971962899a48ff8943f81ca5e3
1 #! /bin/sh
3 ROOTDIR=$PWD
4 BUILDDIR=build
5 VERBOSE=OFF
6 COLOR=ON
7 CCACHE=ON
8 DEBUG=1
9 MAKEOPT="--quiet"
10 CFLAGS="-W -Wall -Wstrict-prototypes -pipe"
11 CFLAGS="$CFLAGS -Wfloat-equal -Wundef -Wshadow -Wpointer-arith"
12 CFLAGS="$CFLAGS -Wmissing-declarations -Wnested-externs"
13 CFLAGS="$CFLAGS -Wmissing-prototypes"
14 CXXFLAGS="-W -Wall -pipe -Wundef -Wshadow -Wpointer-arith -Wabi -std=c++0x"
16 function usage()
18 echo -n "usage: $0
19 --verbose verbose Makefiles
20 --no-color no colors
21 --no-debug disable debug
22 --debug enables debug
24 exit
27 until [[ $# -eq 0 ]] ;
29 case "$1" in
30 --verbose)
31 VERBOSE=ON
32 MAKEOPT="$(echo $MAKEOPT | sed s,--quiet,,g)"
34 --no-color)
35 COLOR=OFF
37 --no-debug)
38 DEBUG=0
40 --debug)
41 DEBUG=1
43 --ccache)
44 CCACHE=ON
46 --no-ccache)
47 CCACHE=OFF
49 --build-dir)
50 [[ $# -eq 1 ]] && { echo --build-dir requiers an argument; exit 2; }
51 BUILDDIR="$2"
52 shift
55 usage
57 esac
58 shift
59 done
61 if ! which ccache 2>&1 >/dev/null; then
62 CCACHE=OFF
65 if [[ $DEBUG -eq 0 ]]; then
66 CFLAGS="$CFLAGS -DNDEBUG"
67 CXXFLAGS="$CXXFLAGS -DNDEBUG"
68 else
69 CFLAGS="$CFLAGS -ggdb"
70 CXXFLAGS="$CXXFLAGS -ggdb"
73 if [[ $CCACHE = "ON" ]] ; then
74 mkdir -p .ccache
75 ln -sf $(which ccache) .ccache/g++
76 ln -sf $(which ccache) .ccache/gcc
77 export CC="$PWD/.ccache/gcc"
78 export CXX="$PWD/.ccache/g++"
81 export CFLAGS
82 export CXXFLAGS
83 rm -rf $BUILDDIR
84 mkdir $BUILDDIR &&
85 cd $BUILDDIR &&
86 cmake $ROOTDIR
87 cmake \
88 -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE \
89 -DCMAKE_COLOR_MAKEFILE=$COLOR \
92 cd $ROOTDIR &&
93 cat >config.mk <<EOF
94 BUILDDIR=$BUILDDIR
95 MAKEOPT=$MAKEOPT
96 EOF