mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-12-28 03:37:59 +00:00
- generalize some of the library extensions (.so vs .dylib).
Provide as wmake 'sysFunctions'
- added note about unsupported/incomplete system support
- centralize detection of ThirdParty packages into wmake/ subdirectory
by providing a series of scripts in the spirit of GNU autoconfig.
For example,
have_boost, have_readline, have_scotch, ...
Each of the `have_<package>` scripts will generally provide the
following type of functions:
have_<package> # detection
no_<package> # reset
echo_<package> # echoing
and the following type of variables:
HAVE_<package> # unset or 'true'
<package>_ARCH_PATH # root for <package>
<package>_INC_DIR # include directory for <package>
<package>_LIB_DIR # library directory for <package>
This simplifies the calling scripts:
if have_metis
then
wmake metisDecomp
fi
As well as reducing clutter in the corresponding Make/options:
EXE_INC = \
-I$(METIS_INC_DIR) \
-I../decompositionMethods/lnInclude
LIB_LIBS = \
-L$(METIS_LIB_DIR) -lmetis
Any additional modifications (platform-specific or for an external build
system) can now be made centrally.
38 lines
966 B
Bash
Executable File
38 lines
966 B
Bash
Executable File
#!/bin/sh
|
|
cd ${0%/*} || exit 1 # Run from this directory
|
|
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Define how to create an mpi-versioned library of $targetType
|
|
# compile into qualified directory
|
|
# use sentinel file to handle version changes
|
|
wmakeMpiLib()
|
|
{
|
|
local objectsDir
|
|
for libName
|
|
do
|
|
(
|
|
WM_OPTIONS="$WM_OPTIONS$WM_MPLIB"
|
|
objectsDir="$WM_PROJECT_DIR/build/$WM_OPTIONS/src/Pstream/$libName"
|
|
whichmpi="$objectsDir/using:$FOAM_MPI"
|
|
[ -e "$whichmpi" ] || wclean $libName
|
|
echo "wmake $targetType $libName"
|
|
wmake $targetType $libName
|
|
mkdir -p "$objectsDir"
|
|
touch "$whichmpi"
|
|
)
|
|
done
|
|
}
|
|
|
|
echo "wmake $targetType dummy"
|
|
wmake $targetType dummy
|
|
|
|
case "$WM_MPLIB" in
|
|
*MPI*)
|
|
wmakeMpiLib mpi
|
|
;;
|
|
esac
|
|
|
|
#------------------------------------------------------------------------------
|