Files
modules/init/cmake.in
Xavier Delaruelle dfbdb9f7d1 Return dummy true on compat module function
Make compatibility module function to always return a value to be able
to check function result either new main version or compat version is
called.

Adapt cmake, perl, python and ruby compat module function to return a
true value. Always true is returned as compat version does not handle
returning error exit code.
2017-11-21 21:57:21 +01:00

50 lines
2.1 KiB
Plaintext

# define modules runtine 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}${_mlv}_modquar=$ENV{${_mlv}};")
endif()
set(_mlrv "MODULES_RUNENV_${_mlv}")
set(_mlre "${_mlre}${_mlv}=$ENV{${_mlrv}};")
endif()
endforeach()
if (NOT "${_mlre}" STREQUAL "")
set(_mlre "env;${_mlre}")
endif()
endif()
# define module command and surrounding initial environment (default value
# for MODULESHOME, MODULEPATH, LOADEDMODULES and parse of init/.modulespath)
execute_process(COMMAND mktemp -t moduleinit.cmake.XXXXXXXXXXXX
OUTPUT_VARIABLE tempfile_name)
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()
@compatversion@
@compatversion@# redefine module command if compat version has been activated
@compatversion@if("$ENV{MODULES_USE_COMPAT_VERSION}" STREQUAL "1")
@compatversion@ function(module)
@compatversion@ execute_process(COMMAND mktemp -t moduleinit.cmake.XXXXXXXXXXXX
@compatversion@ OUTPUT_VARIABLE tempfile_name)
@compatversion@ execute_process(COMMAND @libexecdir@/modulecmd-compat cmake ${ARGV}
@compatversion@ OUTPUT_FILE ${tempfile_name})
@compatversion@ if(EXISTS ${tempfile_name})
@compatversion@ include(${tempfile_name})
@compatversion@ file(REMOVE ${tempfile_name})
@compatversion@ endif()
@compatversion@ # return value as done on new main version
@compatversion@ set(module_result TRUE PARENT_SCOPE)
@compatversion@ endfunction(module)
@compatversion@endif()