WORKSPACE=$1
build_mode=$2
+
rm -rf $WORKSPACE/build
mkdir $WORKSPACE/build
if test "$(uname -o)" = "Msys"
then
+ #$NUMBER_OF_PROCESSORS should be already set on win
+ if [ -z "$NUMBER_OF_PROCESSORS" ]; then
+ NUMBER_OF_PROCESSORS=1
+ fi
+
cmake -G "MSYS Makefiles" $WORKSPACE
if [ $? -ne 0 ] ; then
exit 2
fi
-
- if [ "$build_mode" = "Debug" ]
- then
cmake -G "MSYS Makefiles" -Denable_java=ON -Denable_model-checking=OFF -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=OFF .
- fi
-
- if [ "$build_mode" = "ModelChecker" ]
- then
- cmake -G "MSYS Makefiles" -Denable_java=ON -Denable_smpi=ON -Denable_model-checking=ON -Denable_lua=OFF -Denable_compile_optimizations=OFF -Denable_compile_warnings=OFF .
- fi
-
- if [ "$build_mode" = "DynamicAnalysis" ]
- then
- cmake -G "MSYS Makefiles" -Denable_lua=OFF -Denable_java=ON -Denable_tracing=ON -Denable_smpi=ON -Denable_compile_optimizations=OFF -Denable_compile_warnings=OFF -Denable_lib_static=OFF -Denable_model-checking=OFF -Denable_latency_bound_tracking=OFF -Denable_gtnets=OFF -Denable_jedule=OFF -Denable_mallocators=OFF -Denable_memcheck=ON .
- fi
if [ $? -ne 0 ] ; then
echo "Failed to perform the Cmake for $build_mode - Halting"
exit 5
fi
- make
+ make -j$NUMBER_OF_PROCESSORS
if [ $? -ne 0 ] ; then
echo "Build failure - Halting"
exit 6
fi
-else
+else
+ # Linux:
+ cpuinfo_file="/proc/cpuinfo"
+ NUMBER_OF_PROCESSORS=$(lscpu -p 2>/dev/null | grep -c '^[^#]') || \
+ NUMBER_OF_PROCESSORS=$(grep -c "^processor[[:space:]]*:" ${cpuinfo_file} 2>/dev/null)
+ [ "0$NUMBER_OF_PROCESSORS" -gt 0 ] || NUMBER_OF_PROCESSORS=1
+
cmake $WORKSPACE
if [ $? -ne 0 ] ; then
exit 5
fi
- make
+ make -j$NUMBER_OF_PROCESSORS
if [ $? -ne 0 ] ; then
echo "Build failure - Halting"
fi
-ctest -T test --no-compress-output --timeout 100 || true
+
+echo "running tests with $NUMBER_OF_PROCESSORS processors"
+
+ctest -T test --no-compress-output --timeout 100 -j$NUMBER_OF_PROCESSORS || true
if [ -f Testing/TAG ] ; then
xsltproc $WORKSPACE/buildtools/jenkins/ctest2junit.xsl -o "$WORKSPACE/CTestResults.xml" Testing/`head -n 1 < Testing/TAG`/Test.xml
fi