X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3484bb1b49e6203161518fd3844797f693138e5a..refs/heads/master:/BuildSimGrid.sh diff --git a/BuildSimGrid.sh b/BuildSimGrid.sh index 472e93734a..410d1ddb70 100755 --- a/BuildSimGrid.sh +++ b/BuildSimGrid.sh @@ -1,26 +1,40 @@ #!/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 - echo "Please configure SimGrid before building it:" - echo " ccmake ." - exit 1 +if [ ! -e Makefile ] && [ ! -e build.ninja ]; 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 +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} ] ; 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} || make) && 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 +