2025-10-11 21:52:39 +08:00

130 lines
3.6 KiB
Fish

#!/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/下载/ros_turtlecontrol/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