#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2020 OpenCFD Ltd. #------------------------------------------------------------------------------ # SPDX-License-Identifier: (GPL-3.0-or-later) # # Script # list-modules # # Description # List module directories # - each first-level directory with an Allwmake file # #------------------------------------------------------------------------------ cd "${0%/*}" || exit # Run from this directory printHelp() { cat<< HELP 1>&2 Usage: ${0##*/} [OPTION] options: -help Display help and exit List module directories - each first-level directory with an Allwmake file HELP exit 0 # A clean exit } # Report error and exit die() { exec 1>&2 echo echo "Error encountered:" while [ "$#" -ge 1 ]; do echo " $1"; shift; done echo echo "See '${0##*/} -help' for usage" echo exit 1 } #------------------------------------------------------------------------------ # Parse options while [ "$#" -gt 0 ] do case "$1" in -h | -help*) # Short help printHelp ;; *) die "Unknown option/argument: '$1'" ;; esac shift done # Each first-level directory with an Allwmake file for moduleName in * do if [ -f "$moduleName/Allwmake" ] then case "$moduleName" in # Skip some directory names (build | doc | platform*) ;; (*) echo "$moduleName" ;; esac fi done #------------------------------------------------------------------------------