#!/usr/bin/env fish # generated from catkin/cmake/template/setup.fish.in # Sets various environment variables and sources additional environment hooks. # It tries it's best to undo changes from a previously sourced setup file before. # Supported command line options: # --extend: skips the undoing of changes from a previously sourced setup file # --local: only considers this workspace but not the chained ones # In plain sh shell which doesn't support arguments for sourced scripts you can # set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. # since this file is sourced either use the provided _CATKIN_SETUP_DIR # or fall back to the destination set at configure time if not type -q bass echo "Missing required fish plugin: bass. See https://github.com/edc/bass" exit 22 end if test -z $_CATKIN_SETUP_DIR set _CATKIN_SETUP_DIR /home/zmn/Gitea/ROS_Learn/devel end set _SETUP_UTIL "$_CATKIN_SETUP_DIR/_setup_util.py" set -e _CATKIN_SETUP_DIR if not test -f "$_SETUP_UTIL" echo "Missing Python script: $_SETUP_UTIL" exit 22 end # detect if running on Darwin platform set _UNAME (uname -s) set _IS_DARWIN 0 if test "$_UNAME" = Darwin set _IS_DARWIN 1 end set -e _UNAME # make sure to export all environment variables set -x CMAKE_PREFIX_PATH $CMAKE_PREFIX_PATH if test $_IS_DARWIN -eq 0 set -x LD_LIBRARY_PATH $LD_LIBRARY_PATH else set -x DYLD_LIBRARY_PATH $DYLD_LIBRARY_PATH end set -e _IS_DARWIN set -x PATH $PATH set -x PKG_CONFIG_PATH $PKG_CONFIG_PATH set -x PYTHONPATH $PYTHONPATH # remember type of shell if not already set if test -z "$CATKIN_SHELL" set CATKIN_SHELL fish end # invoke Python script to generate necessary exports of environment variables # use TMPDIR if it exists, otherwise fall back to /tmp if test -d "$TMPDIR" set _TMPDIR "$TMPDIR" else set _TMPDIR /tmp end set _SETUP_TMP (mktemp "$_TMPDIR/setup.fish.XXXXXXXXXX") set -e _TMPDIR if test $status -ne 0 -o ! -f "$_SETUP_TMP" echo "Could not create temporary file: $_SETUP_TMP" exit 1 end CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" "$argv" "$CATKIN_SETUP_UTIL_ARGS" >> "$_SETUP_TMP" set _RC $status if test $_RC -ne 0 if test $_RC -eq 2 then echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': maybe the disk is full?" else echo "Failed to run '\"$_SETUP_UTIL\" $argv': return code $_RC" end set -e _RC set -e _SETUP_UTIL rm -f "$_SETUP_TMP" set -e _SETUP_TMP exit 1 end set -e _RC set -e _SETUP_UTIL source "$_SETUP_TMP" rm -f "$_SETUP_TMP" set -e _SETUP_TMP # source all environment hooks set _i 0 while test $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT # fish doesn't allow use of ${} to delimit variables within a string set _i_WORKSPACE (string join "" "$i" "_WORKSPACE") eval set _envfile \$_CATKIN_ENVIRONMENT_HOOKS_$_i set -e _CATKIN_ENVIRONMENT_HOOKS_$_i eval set _envfile_workspace \$_CATKIN_ENVIRONMENT_HOOKS_$_i_WORKSPACE set -e _CATKIN_ENVIRONMENT_HOOKS_$_i_WORKSPACE # set workspace for environment hook set CATKIN_ENV_HOOK_WORKSPACE $_envfile_workspace # non ideal: some packages register bash scripts as fish env hooks # it is needed to perform an extension check for backwards compatibility # if the script ends with .sh, .bash or .zsh, run it with bass set IS_SH_SCRIPT (string match -r '\.(sh|bash|zsh)$' "$_envfile") if test -n "$IS_SH_SCRIPT" bass source "$_envfile" else source "$_envfile" end set -e IS_SH_SCRIPT set -e CATKIN_ENV_HOOK_WORKSPACE set _i (math $_i + 1) end set -e _i set -e _CATKIN_ENVIRONMENT_HOOKS_COUNT