mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
- scripts/wmake.wmake-args partial logic for Allwmake scripts. - handle '-quiet' as synonym for '-silent' - Do not specify '-j' option for wrapped cmake creation to avoid the warning: make[1]: warning: -jN forced in submake: disabling jobserver mode.
91 lines
2.6 KiB
Bash
91 lines
2.6 KiB
Bash
#----------------------------------*-sh-*--------------------------------------
|
|
# ========= |
|
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
# \\ / O peration |
|
|
# \\ / A nd | www.openfoam.com
|
|
# \\/ M anipulation |
|
|
#------------------------------------------------------------------------------
|
|
# Copyright (C) 2020 OpenCFD Ltd.
|
|
#------------------------------------------------------------------------------
|
|
# License
|
|
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
|
#
|
|
# File
|
|
# wmake/scripts/wmake.wmake-args
|
|
#
|
|
# Description
|
|
# Reduced argument parser (eg, for scripts using wmake)
|
|
# that handles some common parameters
|
|
#
|
|
# Usage
|
|
# # Parse the arguments by sourcing this script
|
|
# . ${WM_PROJECT_DIR:?}/wmake/scripts/wmake.wmake-args
|
|
#
|
|
# Options
|
|
# -s | -silent | -quiet
|
|
# Exports WM_QUIET=true
|
|
#
|
|
# -j | -jN | -j N
|
|
# Compile using all or specified N cores/hyperthreads
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
|
|
# NB: nArgs to track the current processing position to avoid wraparound
|
|
# when checking for optional parameters (eg, the -j processing)
|
|
|
|
nArgs="$#"
|
|
for arg in "$@"
|
|
do
|
|
shift; nArgs="$((nArgs - 1))" # Drop argument
|
|
|
|
case "$arg" in
|
|
|
|
# Silent operation
|
|
-s | -silent | -quiet)
|
|
export WM_QUIET=true
|
|
continue # Handled argument
|
|
;;
|
|
|
|
# Parallel compilation (all or specified number of cores)
|
|
-j)
|
|
export WM_NCOMPPROCS=0
|
|
if [ "$nArgs" -gt 0 ]
|
|
then
|
|
case "$1" in
|
|
[0-9]*)
|
|
if WM_NCOMPPROCS="$(expr 0 + "$1" 2>/dev/null)"
|
|
then
|
|
shift; nArgs="$((nArgs - 1))" # Drop argument
|
|
fi
|
|
;;
|
|
esac
|
|
fi
|
|
if [ "${WM_NCOMPPROCS:=0}" -le 0 ]
|
|
then
|
|
WM_NCOMPPROCS=$(getconf _NPROCESSORS_ONLN 2>/dev/null) || \
|
|
WM_NCOMPPROCS=1
|
|
fi
|
|
|
|
echo "Compiling enabled on $WM_NCOMPPROCS cores" 1>&2
|
|
continue # Handled argument
|
|
;;
|
|
|
|
# Parallel compilation (specified number of cores)
|
|
-j[0-9]*)
|
|
export WM_NCOMPPROCS="${arg#-j}"
|
|
if [ "${WM_NCOMPPROCS:=0}" -le 0 ]
|
|
then
|
|
WM_NCOMPPROCS=$(getconf _NPROCESSORS_ONLN 2>/dev/null) || \
|
|
WM_NCOMPPROCS=1
|
|
fi
|
|
|
|
echo "Compiling enabled on $WM_NCOMPPROCS cores" 1>&2
|
|
continue # Handled argument
|
|
;;
|
|
esac
|
|
|
|
set -- "$@" "$arg" # Reinsert unhandled argument
|
|
done
|
|
|
|
#------------------------------------------------------------------------------
|