Skip to content
Snippets Groups Projects
install.sh 2.23 KiB
Newer Older
#_____________________________________________________________________________
# usage
# call if option -h, -help or --help, display usage and quit
function usage ()
{
BaM's avatar
BaM committed
    cat <<\MANUAL_EOF
BaM's avatar
BaM committed
"NO MANUAL YET"
BaM's avatar
BaM committed
function build ()
{
    if [ ! -d "bld" ]; then
        mkdir bld
    fi
    cd bld

    if [ "$1" == "WithNoTest"]
        cmake ..
        make -j ${J} ++++ CLASSpkg_root CLASSpkg CLASSGui
    fi

    if [ "$1" == "WithTest"]
        cmake ..
        make -j ${J}
    fi
BaM's avatar
BaM committed
function clean ()
{
    if [ -d "bld" ]; then
        cd bld
        make clean
        cd ..
        rm -rf bld
    fi
    rm -rf source/src/*Dict.cxx
    rm -rf lib
    rm -rf bin
}


##############################################################################
### calls of all functions
##############################################################################

BaM's avatar
BaM committed
J="1"
BUILD=false
CLEAN=false
# loop on all arguments
for arg in "$@"; do
BaM's avatar
BaM committed
    case $arg in
        -h|-help|--help )
            usage ;;
        --build|-build|build )
            BUILD=true ;;
        --clean|-clean|clean )
            CLEAN=true ;;
        --clean-build )
            CLEAN=true;BUILD=true ;;
        --build-test )
            GTEST=true ;;
BaM's avatar
BaM committed
        -j* )
            J="${arg//-j=/}" ;;
    esac
BaM's avatar
BaM committed
if [ "${CLEAN}" = true ]; then
    clean
fi

if [ "${BUILD}" = true ]; then
    build(WithNoTest)
if [ "${GTEST}" = true ]; then
    build(WithTest)
fi
EOF
##############################################################################
# Exit status
In `bash`, a correct exectution of a script return an exit status equals to `0` (that why a *C*/*C++* program end by `return 0;`). There is no standard for other exit status, so I (Josselin Massot) use the list of status code in HTTP for exit status.
* `404` : *Not Found*, a test find a file which doesn't exist.
* `418` : *I'm a teapot*, if only return help (I don't find a correct exit status for this).
* `501` : *Not Implemented*, test a feature which doesn't implemented on OS.
* `505` : *HTTP Version not supported*, the version of a library is not the one is expected.
* `507` : *Insufficient storage*, an error on making a directory, maybe because of the insufficient storage.