summaryrefslogblamecommitdiff
path: root/share/spack/setup-env.csh
blob: 1985e023ded41621bd7ade75208eb1c17978aa2e (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                                         
                                                                         
 

                                              


                                                                  
                                                                        




                                                        






                                                                              





                                                                                       
                                             
                                                                                           
 
                                         
                                         
                                       
 
                                                        
                                                           
                                                                                 
                                   


                                                          

       
    

                                                                              
     


                                                               
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)


#
# This file is part of Spack and sets up the spack environment for
# csh and tcsh.  This includes environment modules and lmod support, and
# it also puts spack in your path.  Source it like this:
#
#    setenv SPACK_ROOT /path/to/spack
#    source $SPACK_ROOT/share/spack/setup-env.csh
#

# prevent infinite recursion when spack shells out (e.g., on cray for modules)
if ($?_sp_initializing) then
    exit 0
endif
setenv _sp_initializing true

if ($?SPACK_ROOT) then
    set _spack_source_file = $SPACK_ROOT/share/spack/setup-env.csh
    set _spack_share_dir   = $SPACK_ROOT/share/spack

    # Command aliases point at separate source files
    alias spack          'set _sp_args = (\!*); source $_spack_share_dir/csh/spack.csh'
    alias spacktivate    'spack env activate'
    alias _spack_pathadd 'set _pa_args = (\!*) && source $_spack_share_dir/csh/pathadd.csh'

    # Set variables needed by this script
    _spack_pathadd PATH "$SPACK_ROOT/bin"
    eval `spack --print-shell-vars csh`

    # Set up module search paths in the user environment
    set tcl_roots = `echo $_sp_tcl_roots:q | sed 's/:/ /g'`
    set compatible_sys_types = `echo $_sp_compatible_sys_types:q | sed 's/:/ /g'`
    foreach tcl_root ($tcl_roots:q)
        foreach systype ($compatible_sys_types:q)
            _spack_pathadd MODULEPATH "$tcl_root/$systype"
        end
    end

else
    echo "ERROR: Sourcing spack setup-env.csh requires setting SPACK_ROOT to "
    echo "       the root of your spack installation."
endif

# done: unset sentinel variable as we're no longer initializing
unsetenv _sp_initializing