CMake SYCL & Intel OpenMP handling
[gromacs.git] / scripts / GMXRC.bash.cmakein
bloba6fdbe7865ca857a03ca6e7551f1e73b401cce33
1 # sh/bash/zsh configuration file for Gromacs
2 # First we remove old gromacs stuff from the paths
3 # by selecting everything else.
4 # This is not 100% necessary, but very useful when we
5 # repeatedly switch between gmx versions in a shell.
7 #we make use of IFS, which needs shwordsplit in zsh
8 test -n "${ZSH_VERSION+set}" && setopt shwordsplit
9 old_IFS="$IFS"
10 IFS=":"
12 # First remove gromacs part of ld_library_path
13 tmppath=""
14 for i in $@LD_LIBRARY_PATH@; do
15   if test "$i" != "$GMXLDLIB"; then
16     tmppath="${tmppath}${tmppath:+:}${i}"
17   fi
18 done
19 @LD_LIBRARY_PATH@=$tmppath
21 # remove gromacs part of PKG_CONFIG_PATH
22 tmppath=""
23 for i in $PKG_CONFIG_PATH; do
24   if test "$i" != "$GMXLDLIB/pkgconfig"; then
25     tmppath="${tmppath}${tmppath:+:}${i}"
26   fi
27 done
28 PKG_CONFIG_PATH=$tmppath
30 # remove gromacs part of path
31 tmppath=""
32 for i in $PATH; do
33   if test "$i" != "$GMXBIN"; then
34     tmppath="${tmppath}${tmppath:+:}${i}"
35   fi
36 done
37 PATH=$tmppath
39 # and remove the gmx part of manpath
40 tmppath=""
41 for i in $MANPATH; do
42   if test "$i" != "$GMXMAN"; then
43     tmppath="${tmppath}${tmppath:+:}${i}"
44   fi
45 done
46 MANPATH=$tmppath
48 ##########################################################
49 # This is the real configuration part. We save the Gromacs
50 # things in separate vars, so we can remove them later.
51 # If you move gromacs, change the first line.
52 ##########################################################
53 GMXPREFIX=@CMAKE_INSTALL_PREFIX@
54 GMXBIN=${GMXPREFIX}/@CMAKE_INSTALL_BINDIR@
55 GMXLDLIB=${GMXPREFIX}/@CMAKE_INSTALL_LIBDIR@
56 GMXMAN=${GMXPREFIX}/@CMAKE_INSTALL_MANDIR@
57 GMXDATA=${GMXPREFIX}/@GMX_INSTALL_GMXDATADIR@
58 GMXTOOLCHAINDIR=${GMXPREFIX}/@GMX_INSTALL_CMAKEDIR@
59 GROMACS_DIR=${GMXPREFIX}
61 @LD_LIBRARY_PATH@=${GMXLDLIB}${@LD_LIBRARY_PATH@:+:}${@LD_LIBRARY_PATH@}
62 PKG_CONFIG_PATH=${GMXLDLIB}/pkgconfig${PKG_CONFIG_PATH:+:}${PKG_CONFIG_PATH}
63 PATH=${GMXBIN}${PATH:+:}${PATH}
64 #debian/ubuntu needs a : at the end
65 MANPATH=${GMXMAN}:${MANPATH}
67 # export should be separate, so /bin/sh understands it
68 export GMXBIN GMXLDLIB GMXMAN GMXDATA @LD_LIBRARY_PATH@ PATH MANPATH
69 export PKG_CONFIG_PATH GROMACS_DIR
71 IFS="$old_IFS"
72 unset old_IFS
74 # read bash completions if understand how to use them
75 # and this shell supports extended globbing
76 if test -n "${BASH_VERSION+set}" && (complete) > /dev/null 2>&1; then
77   if (shopt -s extglob) > /dev/null 2>&1; then
78     shopt -s extglob
79     if [ -f $GMXBIN/gmx-completion.bash ]; then
80       source $GMXBIN/gmx-completion.bash
81       for cfile in $GMXBIN/gmx-completion-*.bash ; do
82         source $cfile
83       done
84     fi
85   fi
86 elif test -n "${ZSH_VERSION+set}" > /dev/null 2>&1 ; then
87   autoload bashcompinit
88   if (bashcompinit) > /dev/null 2>&1; then
89     bashcompinit
90     if [ -f $GMXBIN/gmx-completion.bash ]; then
91       source $GMXBIN/gmx-completion.bash
92       for cfile in $GMXBIN/gmx-completion-*.bash ; do
93         source $cfile
94       done
95     fi
96   fi