Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix portability issues in shellscripts (codefactor.io/ShellCheck).
[simgrid.git] / tools / jenkins / Flags.sh
1 #!/usr/bin/env sh
2
3 set -e
4
5 die() {
6     echo "$@"
7     exit 1
8 }
9
10 do_cleanup() {
11   for d in "$WORKSPACE/build"
12   do
13     if [ -d "$d" ]
14     then
15       rm -rf "$d" || die "Could not remote $d"
16     fi
17   done
18 }
19
20 # Get an ON/OFF string from a command:
21 onoff() {
22   if "$@" > /dev/null ; then
23     echo ON
24   else
25     echo OFF
26   fi
27 }
28
29 [ $# -eq 4 ] || die "Needs 4 arguments : JAVA MC SMPI DEBUG"
30
31 ### Cleanup previous runs
32
33 ! [ -z "$WORKSPACE" ] || die "No WORKSPACE"
34 [ -d "$WORKSPACE" ] || die "WORKSPACE ($WORKSPACE) does not exist"
35
36 do_cleanup
37
38 for d in "$WORKSPACE/build"
39 do
40   mkdir "$d" || die "Could not create $d"
41 done
42
43 NUMPROC="$(nproc)" || NUMPROC=1
44
45 cd $WORKSPACE/build
46
47 #we can't just receive ON or OFF as values as display is bad in the resulting jenkins matrix
48
49 if [ $1 = "JAVA" ]
50 then
51   buildjava="ON"
52 else
53   buildjava="OFF"
54 fi
55
56 if [ $2 = "MC" ]
57 then
58   buildmc="ON"
59 else
60   buildmc="OFF"
61 fi
62
63 if [ $3 = "SMPI" ]
64 then
65   buildsmpi="ON"
66 else
67   buildsmpi="OFF"
68 fi
69
70 if [ $4 = "DEBUG" ]
71 then
72   builddebug="ON"
73 else
74   builddebug="OFF"
75 fi
76
77
78 echo "Step ${STEP}/${NSTEPS} - Building with java=${buildjava}, debug=${builddebug}, SMPI=${buildsmpi}, MC=${buildmc}"
79 cmake -Denable_documentation=OFF -Denable_lua=ON -Denable_java=${buildjava} \
80       -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON \
81       -Denable_jedule=ON -Denable_mallocators=ON -Denable_debug=${builddebug} \
82       -Denable_smpi=${buildsmpi} -Denable_smpi_MPICH3_testsuite=${buildsmpi} -Denable_model-checking=${buildmc} \
83       -Denable_memcheck=OFF -Denable_memcheck_xml=OFF -Denable_smpi_ISP_testsuite=OFF \
84       -Denable_ns3=$(onoff test "$buildmc" != "ON") -Denable_coverage=OFF $WORKSPACE
85
86 make -j$NUMPROC tests
87 make clean
88
89