| [e02d24a] | 1 | #!/bin/bash |
|---|
| [4ff8483] | 2 | #************************************************************ |
|---|
| [e02d24a] | 3 | # La llamada al script recibe dos argumentos: |
|---|
| [be65acb] | 4 | # ./build_package.sh [|<package_name>] [|Release|Debug] |
|---|
| [4ff8483] | 5 | #************************************************************ |
|---|
| [e02d24a] | 6 | # Durante el proceso se pregunta por cada una de las etapas. |
|---|
| [4ff8483] | 7 | #************************************************************ |
|---|
| [e02d24a] | 8 | |
|---|
| 9 | BUILD_DIR=$PWD/$(dirname $0) |
|---|
| [be65acb] | 10 | source $BUILD_DIR/current_version.sh |
|---|
| [e02d24a] | 11 | |
|---|
| 12 | if [ "$1" = "" ]; then |
|---|
| 13 | echo -n "package? " |
|---|
| 14 | read package |
|---|
| 15 | else |
|---|
| 16 | package=$1 |
|---|
| 17 | fi |
|---|
| 18 | |
|---|
| 19 | PACKAGE_DIR=$BUILD_DIR/../../../OfficialTolArchiveNetwork/$package |
|---|
| [2a0a3cd] | 20 | if ! [ -f "$PACKAGE_DIR/CMakeLists.txt" ]; then |
|---|
| [e02d24a] | 21 | if [ -d "$PACKAGE_DIR" ]; then |
|---|
| 22 | echo "(!) Cannot find the CMakeLists.txt" |
|---|
| 23 | else |
|---|
| 24 | echo "(!) Cannot find the package $package." |
|---|
| 25 | fi |
|---|
| 26 | exit |
|---|
| 27 | fi |
|---|
| 28 | |
|---|
| 29 | if [ "$2" = "" ]; then |
|---|
| [be65acb] | 30 | mode=Release |
|---|
| [e02d24a] | 31 | else |
|---|
| 32 | mode=$2 |
|---|
| 33 | fi |
|---|
| [be65acb] | 34 | if !([ "$mode" = "Release" ] || [ "$mode" = "Debug" ]); then |
|---|
| 35 | echo "(!) Second argument should be: Release, Debug or should be avoided." |
|---|
| [e02d24a] | 36 | exit |
|---|
| 37 | fi |
|---|
| 38 | suffix=-$mode |
|---|
| [be65acb] | 39 | if [ "$mode" = "Release" ]; then |
|---|
| [e02d24a] | 40 | suffix= |
|---|
| 41 | fi |
|---|
| 42 | |
|---|
| 43 | echo "----------------------------------------------------" |
|---|
| 44 | echo " Building package $package - $mode" |
|---|
| 45 | echo "----------------------------------------------------" |
|---|
| 46 | |
|---|
| [4ff8483] | 47 | CMAKE_DIR=~/CMake_Build/packages/$package/$mode |
|---|
| [e02d24a] | 48 | if [ -d "$CMAKE_DIR" ]; then |
|---|
| 49 | echo "/!\ There is already a built folder of $package." |
|---|
| 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 | cd $CMAKE_DIR |
|---|
| 60 | |
|---|
| 61 | echo -n "cmake? (y/n) " |
|---|
| 62 | read answer |
|---|
| 63 | if [ "$answer" = "y" ]; then |
|---|
| [be65acb] | 64 | cmake $PACKAGE_DIR -DTOL_PREFIX_PATH=/usr/local/tol$version$suffix -DCMAKE_BUILD_TYPE=$mode |
|---|
| [e02d24a] | 65 | fi |
|---|
| 66 | |
|---|
| 67 | echo -n "make? (y/n) " |
|---|
| 68 | read answer |
|---|
| 69 | if [ "$answer" = "y" ]; then |
|---|
| 70 | make |
|---|
| 71 | fi |
|---|