# set module command in accordance with active version
if("$ENV{MODULES_USE_COMPAT_VERSION}" STREQUAL "1")
function(module)
   execute_process(COMMAND mktemp -t moduleinit.cmake.XXXXXXXXXXXX
      OUTPUT_VARIABLE tempfile_name)
   execute_process(COMMAND /usr/lib/arm-linux-gnueabihf/modulecmd-compat cmake ${ARGV}
      OUTPUT_FILE ${tempfile_name})
   if(EXISTS ${tempfile_name})
      include(${tempfile_name})
      file(REMOVE ${tempfile_name})
   endif()
endfunction(module)
else()
function(module)
   execute_process(COMMAND mktemp -t moduleinit.cmake.XXXXXXXXXXXX
      OUTPUT_VARIABLE tempfile_name)
   execute_process(COMMAND /usr/bin/tclsh /usr/lib/arm-linux-gnueabihf/modulecmd.tcl cmake ${ARGV}
      OUTPUT_FILE ${tempfile_name})
   if(EXISTS ${tempfile_name})
      include(${tempfile_name})
      file(REMOVE ${tempfile_name})
   endif()
endfunction(module)
endif()

set(ENV{MODULESHOME} "/usr")

if(NOT DEFINED ENV{MODULEPATH})
   if(EXISTS /usr/init/.modulespath)
      execute_process(COMMAND sed -n "s/[ 	#].*$//; /./H; $ { x; s/^\\n//; s/\\n/:/g; p; }" /usr/init/.modulespath
         OUTPUT_VARIABLE modulespath)
      set(ENV{MODULEPATH} "${modulespath}")
   else()
      set(ENV{MODULEPATH} "")
   endif()
endif()

if(NOT DEFINED ENV{LOADEDMODULES})
   set(ENV{LOADEDMODULES} "")
endif()

# load modulerc only if module environment is empty
if(NOT "$ENV{MODULES_USE_COMPAT_VERSION}" STREQUAL "1" AND EXISTS /usr/init/modulerc AND "$ENV{MODULEPATH}" STREQUAL "" AND "$ENV{LOADEDMODULES}" STREQUAL "")
   module(source /usr/init/modulerc)
endif()
