mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-18 17:40:48 +02:00
71 lines
1.6 KiB
Bash
71 lines
1.6 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
debug(){
|
||
|
mkdir -p debug
|
||
|
cd debug
|
||
|
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DFL_BACKTRACE=ON -DFL_USE_FLOAT=OFF -DFL_CPP11=OFF
|
||
|
make
|
||
|
cd ..
|
||
|
}
|
||
|
|
||
|
release(){
|
||
|
mkdir -p release
|
||
|
cd release
|
||
|
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFL_BACKTRACE=ON -DFL_USE_FLOAT=OFF -DFL_CPP11=OFF
|
||
|
make
|
||
|
cd ..
|
||
|
}
|
||
|
|
||
|
all(){
|
||
|
debug
|
||
|
release
|
||
|
}
|
||
|
|
||
|
clean(){
|
||
|
rm -rf release debug
|
||
|
}
|
||
|
|
||
|
usage(){
|
||
|
printf 'Usage:\t[bash] ./build.sh [options]\n'
|
||
|
printf "where\t[options] can be any of the following:\n"
|
||
|
printf "\tall\t\t builds fuzzylite in debug and release mode (default)\n"
|
||
|
printf "\tdebug\t\t builds fuzzylite in debug mode\n"
|
||
|
printf "\trelease\t\t builds fuzzylite in release mode\n"
|
||
|
printf "\tclean\t\t erases previous builds\n"
|
||
|
printf "\thelp\t\t shows this information\n"
|
||
|
printf "\n"
|
||
|
}
|
||
|
|
||
|
#############################
|
||
|
|
||
|
OPTIONS=( "all" "debug" "release" "clean" "help")
|
||
|
BUILD=( )
|
||
|
|
||
|
for arg in "$@"
|
||
|
do
|
||
|
if [[ "$arg" == "help" ]]; then usage && exit 0; fi
|
||
|
|
||
|
if [[ "$arg" == "all" || "$arg" == "debug" || "$arg" == "release" || "$arg" == "clean" ]];
|
||
|
then BUILD+=( $arg ); else echo "Invalid option: $arg" && usage && exit 2;
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
if [ ${#BUILD[@]} -eq 0 ]; then BUILD+=( "all" ); fi
|
||
|
|
||
|
echo "Building schedule: ${BUILD[@]}"
|
||
|
echo "Starting in 3 seconds..."
|
||
|
sleep 3
|
||
|
|
||
|
for option in "${BUILD[@]}"
|
||
|
do
|
||
|
printf "\n\n"
|
||
|
printf "******************************\n"
|
||
|
printf "STARTING: $option\n"
|
||
|
eval ${option}
|
||
|
printf "\nFINISHED: $option\n"
|
||
|
printf "******************************\n\n"
|
||
|
done
|
||
|
|
||
|
|
||
|
|