Logo AND Algorithmique Numérique Distribuée

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