Describe the solution you'd like
Exposed configuration variables (MICM_MODULE_LOADS/MICM_MODULE_UNLOADS) which are ;-seperated lists of module names and in cmake/dependencies.cmake, we can iterate each string and load/unload the module respectively by name using env_module(load ${PARSED_MODULE}).
Then on the command line, we can have the ability to pass in the presets via cmake --preset=derecho for example which would load the variables for us without needing to pass them through manually.
Is your feature request related to a problem? Please describe. Currently each machine requires a different configuration of modules to be loaded/unloaded which has caused lost development time debugging environments unnecessarily. CMake provides the ability to load modules natively (https://cmake.org/cmake/help/latest/module/FindEnvModules.html) and has preset files (https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html#manual:cmake-presets(7)) which can store machine specific settings.
Describe the solution you'd like Exposed configuration variables (
MICM_MODULE_LOADS
/MICM_MODULE_UNLOADS
) which are;
-seperated lists of module names and incmake/dependencies.cmake
, we can iterate each string and load/unload the module respectively by name usingenv_module(load ${PARSED_MODULE})
.Then on the command line, we can have the ability to pass in the presets via
cmake --preset=derecho
for example which would load the variables for us without needing to pass them through manually.Describe alternatives you've considered N\A
Additional context N\A