mirror of
https://github.com/Pmodules/Pmodules.git
synced 2026-06-27 18:13:08 +02:00
Merge branch '164-modbuild-add-checks-when-constructing-hierarchical-names-for-modulefile-and-prefix' into '32-overlay-implementation'
Resolve "modbuild: add checks when constructing hierarchical names for modulefile and PREFIX" See merge request Pmodules/src!136
This commit is contained in:
+24
-7
@@ -746,21 +746,38 @@ pbuild::make_all() {
|
||||
}
|
||||
|
||||
[[ -n ${GROUP} ]] || std::die 1 \
|
||||
"${module_name}/${module_version}:" \
|
||||
"%s: %s" \
|
||||
"${module_name}/${module_version}" \
|
||||
"group not set."
|
||||
|
||||
# define defaults if not set in configuration file
|
||||
: ${Compiler_HIERARCHY:='${COMPILER}/${COMPILER_VERSION}'}
|
||||
: ${CUDA_HIERARCHY:='${COMPILER}/${COMPILER_VERSION} cuda/${CUDA_VERSION}'}
|
||||
: ${MPI_HIERARCHY:='${COMPILER}/${COMPILER_VERSION} ${MPI}/${MPI_VERSION}'}
|
||||
: ${HDF5_HIERARCHY:='${COMPILER}/${COMPILER_VERSION} ${MPI}/${MPI_VERSION} hdf5/${HDF5_VERSION}'}
|
||||
: ${HDF5_serial_HIERARCHY:='${COMPILER}/${COMPILER_VERSION} hdf5_serial/${HDF5_SERIAL_VERSION}'}
|
||||
# define hierarchies
|
||||
if [[ -v COMPILER_VERSION ]]; then
|
||||
Compiler_HIERARCHY='${COMPILER}/${COMPILER_VERSION}'
|
||||
fi
|
||||
if [[ -v COMPILER_VERSION ]] && [[ -v HDF5_SERIAL_VERSION ]]; then
|
||||
HDF5_serial_HIERARCHY='${COMPILER}/${COMPILER_VERSION}'
|
||||
HDF5_serial_HIERARCHY+=' hdf5_serial/${HDF5_SERIAL_VERSION}'
|
||||
fi
|
||||
if [[ -v COMPILER_VERSION ]] && [[ -v MPI_VERSION ]]; then
|
||||
MPI_HIERARCHY='${COMPILER}/${COMPILER_VERSION}'
|
||||
MPI_HIERARCHY+=' ${MPI}/${MPI_VERSION}'
|
||||
fi
|
||||
if [[ -v COMPILER_VERSION ]] && [[ -v MPI_VERSION ]] && [[ HDF5_VERSION ]]; then
|
||||
HDF5_HIERARCHY='${COMPILER}/${COMPILER_VERSION}'
|
||||
HDF5_HIERARCHY+=' ${MPI}/${MPI_VERSION}'
|
||||
HDF5_HIERARCHY+=' hdf5/${HDF5_VERSION}'
|
||||
fi
|
||||
|
||||
# evaluate
|
||||
local names=()
|
||||
local vname="${GROUP}_HIERARCHY"
|
||||
if [[ -n ${!vname} ]]; then
|
||||
names=( $(eval echo ${!vname}) )
|
||||
else
|
||||
std::die 1 \
|
||||
"%s: %s" \
|
||||
"${module_name}/${module_version}" \
|
||||
"not all hierarchical dependencies loaded!"
|
||||
fi
|
||||
|
||||
modulefile_dir=$(join_by '/' \
|
||||
|
||||
Reference in New Issue
Block a user