X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b44c1d2758d3216bce3be647492546cd2d9e04ce..HEAD:/BuildSimGrid.sh diff --git a/BuildSimGrid.sh b/BuildSimGrid.sh index 3e74ec2edf..410d1ddb70 100755 --- a/BuildSimGrid.sh +++ b/BuildSimGrid.sh @@ -1,11 +1,11 @@ #!/usr/bin/env sh # # 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 +# This is almost a personal script, but others may find this useful # -# Copyright (c) 2017-2019 The SimGrid Team. Licence: LGPL of WDFPL, as you want. +# Copyright (c) 2017-2023 The SimGrid Team. Licence: LGPL of WDFPL, as you want. -if [ ! -e Makefile ] ; then +if [ ! -e Makefile ] && [ ! -e build.ninja ]; then if [ -e build/default/Makefile ] ; then cd build/default else @@ -15,16 +15,26 @@ if [ ! -e Makefile ] ; then fi fi -target=tests +target=examples +ncores=$(grep -c processor /proc/cpuinfo) +halfcores=$(expr $ncores / 2 + 1) install_path=$(sed -n 's/^CMAKE_INSTALL_PREFIX:PATH=//p' CMakeCache.txt) -if [ -e ${install_path} -a -d ${install_path} -a -x ${install_path} -a -w ${install_path} ] ; then +if [ -e ${install_path} ] && [ -d ${install_path} ] && [ -x ${install_path} ] && [ -w ${install_path} ] ; then target=install fi +if [ -e build.ninja ] ; then + builder="ninja" +else + builder="make" +fi + ( echo "install_path: ${install_path}" echo "Target: ${target}" - (nice make -j4 ${target} tests || make ${target} tests) && nice ctest -j4 --output-on-failure ; date + echo "Cores to build: ${ncores}" + echo "Cores to test: ${halfcores}" + (nice ${builder} -j${ncores} ${target} tests || ${builder} ${target} tests) && nice ctest -j${halfcores} --output-on-failure ; date ) 2>&1 | tee BuildSimGrid.sh.log -exit 0 +