Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make the plugin usable within a SMPI simulation
[simgrid.git] / BuildSimGrid.sh
index acc87ae..42f3f1e 100755 (executable)
@@ -3,9 +3,30 @@
 # This little script rebuilds and runs the SimGrid archive in parallel, extracting a log
 # This is almost an internal script, but others may find this useful
 #
-# Copyright (C) 2017 The SimGrid Team. Licence: LGPL of WDFPL, as you want.
+# Copyright (c) 2017-2021 The SimGrid Team. Licence: LGPL of WDFPL, as you want.
+
+if [ ! -e Makefile ] ; then
+  if [ -e build/default/Makefile ] ; then
+    cd build/default
+  else
+    echo "Please configure SimGrid before building it:"
+    echo "   ccmake ."
+    exit 1
+  fi
+fi
+
+target=tests
+ncores=$(grep -c processor /proc/cpuinfo)
+
+install_path=$(sed -n 's/^CMAKE_INSTALL_PREFIX:PATH=//p' CMakeCache.txt)
+if [ -e ${install_path} ] && [ -d ${install_path} ] && [ -x ${install_path} ] && [ -w ${install_path} ] ; then
+  target=install
+fi
 
 (
-  (nice make -j4 || make) && nice ctest -j4 --output-on-failure ; date
+  echo "install_path: ${install_path}"
+  echo "Target: ${target}"
+  echo "Cores: ${ncores}"
+  (nice make -j${ncores} ${target} tests || make ${target} tests) && nice ctest -j${ncores} --output-on-failure ; date
 ) 2>&1 | tee BuildSimGrid.sh.log
-exit 0
+