| 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 | echo -n "press enter to exit " |
|---|
| 22 | read answer |
|---|
| 23 | exit |
|---|
| 24 | fi |
|---|
| 25 | |
|---|
| 26 | if [ "$2" = "" ]; then |
|---|
| 27 | mode=release |
|---|
| 28 | else |
|---|
| 29 | mode=$2 |
|---|
| 30 | fi |
|---|
| 31 | if !([ "$mode" = "release" ] || [ "$mode" = "debug" ]); then |
|---|
| 32 | echo "(!) Second argument should be: release, debug or should be avoided." |
|---|
| 33 | echo -n "press enter to exit " |
|---|
| 34 | read answer |
|---|
| 35 | exit |
|---|
| 36 | fi |
|---|
| 37 | suffix=-$mode |
|---|
| 38 | if [ "$mode" = "release" ]; then |
|---|
| 39 | suffix= |
|---|
| 40 | fi |
|---|
| 41 | |
|---|
| 42 | CMAKE_DIR=~/CMake_Build/contrib/$contrib/$mode |
|---|
| 43 | |
|---|
| 44 | echo "----------------------------------------------------" |
|---|
| 45 | echo " Building contrib $contrib - $mode" |
|---|
| 46 | echo "----------------------------------------------------" |
|---|
| 47 | |
|---|
| 48 | if [ -d "$CMAKE_DIR" ]; then |
|---|
| 49 | echo "/!\ There is already a built folder of $contrib." |
|---|
| 50 | echo -n "mkdir? (y/n) " |
|---|
| 51 | read answer |
|---|
| 52 | if [ "$answer" = "y" ]; then |
|---|
| 53 | rm -r "$CMAKE_DIR" |
|---|
| 54 | mkdir -p "$CMAKE_DIR" |
|---|
| 55 | fi |
|---|
| 56 | else |
|---|
| 57 | mkdir -p "$CMAKE_DIR" |
|---|
| 58 | fi |
|---|
| 59 | |
|---|
| 60 | cd $CMAKE_DIR |
|---|
| 61 | |
|---|
| 62 | echo -n "cmake? (y/n) " |
|---|
| 63 | read answer |
|---|
| 64 | if [ "$answer" = "y" ]; then |
|---|
| 65 | #cmake para ZipArchive |
|---|
| 66 | cmake $CONTRIB_DIR -DCMAKE_BUILD_TYPE=$mode -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local/$contrib$suffix |
|---|
| 67 | fi |
|---|
| 68 | |
|---|
| 69 | echo -n "make? (y/n) " |
|---|
| 70 | read answer |
|---|
| 71 | if [ "$answer" = "y" ]; then |
|---|
| 72 | make |
|---|
| 73 | fi |
|---|
| 74 | |
|---|
| 75 | echo -n "install? (y/n) " |
|---|
| 76 | read answer |
|---|
| 77 | if [ "$answer" = "y" ]; then |
|---|
| 78 | sudo make install |
|---|
| 79 | fi |
|---|
| 80 | |
|---|
| 81 | echo -n "press enter to continue " |
|---|
| 82 | read answer |
|---|