install.sh 2.82 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#!/bin/sh
# Basic Libraries And Applications (blaa)
# Copyright  ETIS — ENSEA, Université de Cergy-Pontoise, CNRS (2011 - 2015)
# Author: Arnaud Blanchard
#
# This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
# You can use, modify and/ or redistribute the software under the terms of the CeCILL v2.1 license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
# As a counterpart to the access to the source code and  rights to copy, modify and redistribute granted by the license,
# users are provided only with a limited warranty and the software's author, the holder of the economic rights,  and the successive licensors have only limited liability.
# In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software,
# that may mean  that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge.
# Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured  and, more generally, to use and operate it in the same conditions as regards security.
# The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms. 

#Default values

17 18 19 20 21 22 23 24
if [ "$2" ]; then
case "$2" in
Release|Debug|RelWithDebugInfo|MinSizeRel) build_type="$2";;
*)echo "Unknown build type '$2'">&2; usage;;
esac
else build_type="Release"
fi

25 26 27 28
current_dir="$PWD"
project_dir="$current_dir/$1"
blaar_build_dir="${current_dir}_build"
build_dir="$blaar_build_dir/${build_type}/$1"
29 30 31 32 33 34 35 36 37 38

usage()
{
    echo "Usage: install [options] project_directory"
    echo "    -b directory            :Directory to create the build. (default: $build_dir)"
    echo "    -h                      :Display this help."
    echo "    -i directory            :Directory to install the binaries. Default: $install_prefix"
    echo
}

39

40 41 42 43 44 45
set -- $(getopt b:hi: "$@")
while [ $# -gt 0 ]
do
    case "$1" in
    (-b) build_dir="$2"; shift;;
    (-h) usage;exit 0;;
46
    (-i) install_prefix="-DCMAKE_INSTALL_PREFIX=$2"; shift;;
47 48 49 50 51 52 53 54
    (--) shift; break;;
    (-*) echo "$0: error - unrecognized option $1" 1>&2; exit 1;;
    (*)  break;;
    esac
    shift
done


55

56 57 58 59 60 61 62
if (($# == 0 ))
then usage; exit 1;
else
echo
echo " Install $1"
echo "=========================="

63
mkdir -p $build_dir && cd $build_dir && cmake -q $current_dir/$1 $install_prefix -DCMAKE_BUILD_TYPE="Release" && make && make install
64 65 66

if [ $? -ne 0 ]
then 
67
echo  "\nFail installing $1\n"
68
else 
69
echo  "\nSuccess installing $1"
70 71 72 73
fi

fi