X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d834b9f9c265730775cad0c62084b80dfa0b44a0..refs/heads/master:/BuildSimGrid.sh diff --git a/BuildSimGrid.sh b/BuildSimGrid.sh index 5f3ce84c1f..410d1ddb70 100755 --- a/BuildSimGrid.sh +++ b/BuildSimGrid.sh @@ -1,11 +1,40 @@ -#! /bin/sh +#!/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 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 ] && [ ! -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=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} ] && [ -d ${install_path} ] && [ -x ${install_path} ] && [ -w ${install_path} ] ; then + target=install +fi + +if [ -e build.ninja ] ; then + builder="ninja" +else + builder="make" +fi ( - (nice make -j4 || make) && nice ctest -j4 --output-on-failure ; date + echo "install_path: ${install_path}" + echo "Target: ${target}" + 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 +