| 1 | #!/bin/bash |
|---|
| 2 | #********************************************************* |
|---|
| 3 | # La llamada al script recibe dos argumentos: |
|---|
| 4 | # ./build_contrib.sh [|<contrib_name>] [|Release|Debug] |
|---|
| 5 | #********************************************************* |
|---|
| 6 | # Durante el proceso se pregunta por cada una de las etapas. |
|---|
| 7 | |
|---|
| 8 | BUILD_DIR=$PWD/$(dirname $0) |
|---|
| 9 | |
|---|
| 10 | if [ "$1" = "" ]; then |
|---|
| 11 | echo -n "contrib? " |
|---|
| 12 | read contrib |
|---|
| 13 | else |
|---|
| 14 | contrib=$1 |
|---|
| 15 | fi |
|---|
| 16 | |
|---|
| 17 | CONTRIB_DIR=$BUILD_DIR/../../../contribs/$contrib |
|---|
| 18 | |
|---|
| 19 | if ! [ -d "$CONTRIB_DIR" ]; then |
|---|
| 20 | echo "(!) Cannot find the contrib $contrib." |
|---|
| 21 | exit |
|---|
| 22 | fi |
|---|
| 23 | |
|---|
| 24 | if [ "$2" = "" ]; then |
|---|
| 25 | mode=Release |
|---|
| 26 | else |
|---|
| 27 | mode=$2 |
|---|
| 28 | fi |
|---|
| 29 | if !([ "$mode" = "Release" ] || [ "$mode" = "Debug" ]); then |
|---|
| 30 | echo "(!) Second argument should be: Release, Debug or should be avoided." |
|---|
| 31 | exit |
|---|
| 32 | fi |
|---|
| 33 | suffix=-$mode |
|---|
| 34 | if [ "$mode" = "Release" ]; then |
|---|
| 35 | suffix= |
|---|
| 36 | fi |
|---|
| 37 | |
|---|
| 38 | CMAKE_DIR=~/CMake_Build/contrib/$contrib/$mode |
|---|
| 39 | |
|---|
| 40 | echo "----------------------------------------------------" |
|---|
| 41 | echo " Building contrib $contrib - $mode" |
|---|
| 42 | echo "----------------------------------------------------" |
|---|
| 43 | |
|---|
| 44 | if [ -d "$CMAKE_DIR" ]; then |
|---|
| 45 | echo "/!\ There is already a built folder of $contrib." |
|---|
| 46 | echo -n "mkdir? (y/n) " |
|---|
| 47 | read answer |
|---|
| 48 | if [ "$answer" = "y" ]; then |
|---|
| 49 | rm -r "$CMAKE_DIR" |
|---|
| 50 | mkdir -p "$CMAKE_DIR" |
|---|
| 51 | fi |
|---|
| 52 | else |
|---|
| 53 | mkdir -p "$CMAKE_DIR" |
|---|
| 54 | fi |
|---|
| 55 | |
|---|
| 56 | cd $CMAKE_DIR |
|---|
| 57 | |
|---|
| 58 | echo -n "cmake? (y/n) " |
|---|
| 59 | read answer |
|---|
| 60 | if [ "$answer" = "y" ]; then |
|---|
| 61 | #cmake para ZipArchive |
|---|
| 62 | cmake $CONTRIB_DIR -DCMAKE_BUILD_TYPE=$mode -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local/$contrib$suffix |
|---|
| 63 | fi |
|---|
| 64 | |
|---|
| 65 | echo -n "make? (y/n) " |
|---|
| 66 | read answer |
|---|
| 67 | if [ "$answer" = "y" ]; then |
|---|
| 68 | make |
|---|
| 69 | fi |
|---|
| 70 | |
|---|
| 71 | echo -n "install? (y/n) " |
|---|
| 72 | read answer |
|---|
| 73 | if [ "$answer" = "y" ]; then |
|---|
| 74 | sudo make install |
|---|
| 75 | fi |
|---|