# define modules runtime quarantine configuration
@setquarvars@set(ENV{MODULES_RUN_QUARANTINE} "@RUN_QUARANTINE@")
@setquarvars@@set(ENV{RUNENV_VAR} "RUNENV_VAL")@
@notsetquarvars@#set(ENV{MODULES_RUN_QUARANTINE} "ENVVARNAME")
@notsetquarvars@
# setup quarantine if defined
set(_mlre "")
if(DEFINED ENV{MODULES_RUN_QUARANTINE})
   string(REPLACE " " ";" _mlv_list "$ENV{MODULES_RUN_QUARANTINE}")
   foreach(_mlv ${_mlv_list})
      if(${_mlv} MATCHES "^[A-Za-z_][A-Za-z0-9_]*$")
         if(DEFINED ENV{${_mlv}})
            set(_mlre "${_mlre}__MODULES_QUAR_${_mlv}=$ENV{${_mlv}};")
         endif()
         set(_mlrv "MODULES_RUNENV_${_mlv}")
         set(_mlre "${_mlre}${_mlv}=$ENV{${_mlrv}};")
     endif()
   endforeach()
   if (NOT "${_mlre}" STREQUAL "")
      set(_mlre "env;${_mlre}__MODULES_QUARANTINE_SET=1;")
   endif()
endif()

# define module command and surrounding initial environment (default value
# for MODULESHOME, MODULEPATH, LOADEDMODULES and parse of init config files)
execute_process(COMMAND mktemp -t moduleinit.cmake.XXXXXXXXXXXX
  OUTPUT_VARIABLE tempfile_name
  OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${_mlre} @TCLSH@ "@libexecdir@/modulecmd.tcl" cmake autoinit
  OUTPUT_FILE ${tempfile_name})
if(EXISTS ${tempfile_name})
  include(${tempfile_name})
  file(REMOVE ${tempfile_name})
endif()
