CMake/Modules/CPack.STGZ_Header.sh.in

143 lines
3.6 KiB
Bash
Raw Normal View History

#!/bin/sh
# Display usage
cpack_usage()
{
cat <<EOF
Usage: $0 [options]
Options: [defaults in brackets after descriptions]
--help print this message
--prefix=dir directory in which to install
--include-subdir include the @CPACK_PACKAGE_FILE_NAME@ subdirectory
--exclude-subdir exclude the @CPACK_PACKAGE_FILE_NAME@ subdirectory
EOF
exit 1
}
2006-05-04 00:24:14 +04:00
cpack_echo_exit()
{
echo $1
exit 1
}
# Display version
cpack_version()
{
echo "@CPACK_PACKAGE_NAME@ Installer Version: @CPACK_PACKAGE_VERSION@, Copyright (c) @CPACK_PACKAGE_VENDOR@"
}
# Helper function to fix windows paths.
cpack_fix_slashes ()
{
echo "$1" | sed 's/\\/\//g'
}
interactive=TRUE
cpack_skip_license=FALSE
cpack_include_subdir=""
for a in "$@CPACK_AT_SIGN@"; do
if echo $a | grep "^--prefix=" > /dev/null 2> /dev/null; then
cpack_prefix_dir=`echo $a | sed "s/^--prefix=//"`
cpack_prefix_dir=`cpack_fix_slashes "${cpack_prefix_dir}"`
fi
if echo $a | grep "^--help" > /dev/null 2> /dev/null; then
cpack_usage
fi
if echo $a | grep "^--version" > /dev/null 2> /dev/null; then
cpack_version
exit 2
fi
if echo $a | grep "^--include-subdir" > /dev/null 2> /dev/null; then
cpack_include_subdir=TRUE
fi
if echo $a | grep "^--exclude-subdir" > /dev/null 2> /dev/null; then
cpack_include_subdir=FALSE
fi
if echo $a | grep "^--skip-license" > /dev/null 2> /dev/null; then
cpack_skip_license=TRUE
fi
done
2006-12-14 00:44:49 +03:00
if [ "x${cpack_include_subdir}x" != "xx" -o "x${cpack_skip_license}x" = "xTRUEx" ]
then
interactive=FALSE
fi
cpack_version
echo "This is a self-extracting archive."
toplevel="`pwd`"
if [ "x${cpack_prefix_dir}x" != "xx" ]
then
toplevel="${cpack_prefix_dir}"
fi
echo "The archive will be extracted to: ${toplevel}"
2006-12-14 00:44:49 +03:00
if [ "x${interactive}x" = "xTRUEx" ]
then
echo ""
echo "If you want to stop extracting, please press <ctrl-C>."
if [ "x${cpack_skip_license}x" != "xTRUEx" ]
then
more << ____cpack__here_doc____
@CPACK_RESOURCE_FILE_LICENSE_CONTENT@
____cpack__here_doc____
echo
echo "Do you accept the license? [yN]: "
read line leftover
case ${line} in
y* | Y*)
cpack_license_accepted=TRUE;;
*)
echo "License not accepted. Exiting ..."
exit 1;;
esac
fi
2006-12-14 00:44:49 +03:00
if [ "x${cpack_include_subdir}x" = "xx" ]
then
echo "By default the @CPACK_PACKAGE_NAME@ will be installed in:"
2006-05-04 00:24:14 +04:00
echo " \"${toplevel}/@CPACK_PACKAGE_FILE_NAME@\""
echo "Do you want to include the subdirectory @CPACK_PACKAGE_FILE_NAME@?"
2006-05-04 00:24:14 +04:00
echo "Saying no will install in: \"${toplevel}\" [Yn]: "
read line leftover
2006-05-04 00:24:14 +04:00
cpack_include_subdir=TRUE
case ${line} in
2006-05-04 00:24:14 +04:00
n* | N*)
cpack_include_subdir=FALSE
esac
fi
fi
2006-12-14 00:44:49 +03:00
if [ "x${cpack_include_subdir}x" = "xTRUEx" ]
then
toplevel="${toplevel}/@CPACK_PACKAGE_FILE_NAME@"
mkdir -p "${toplevel}"
fi
echo
echo "Using target directory: ${toplevel}"
echo "Extracting, please wait..."
echo ""
# take the archive portion of this file and pipe it to tar
# the NUMERIC parameter in this command should be one more
# than the number of lines in this header file
# on SunOS there are two tails, the one in /usr/bin doesn't understand
# the -n +<number> syntax, the one in /usr/xpg4/bin/ does
tail_executable=tail
if [ -x /usr/xpg4/bin/tail ]
then
tail_executable=/usr/xpg4/bin/tail
fi
"$tail_executable" -n +###CPACK_HEADER_LENGTH### "$0" | gunzip | (cd "${toplevel}" && tar xf -) || cpack_echo_exit "Problem unpacking the @CPACK_PACKAGE_FILE_NAME@"
2006-05-04 00:24:14 +04:00
echo "Unpacking finished successfully"
exit 0
#-----------------------------------------------------------
# Start of TAR.GZ file
#-----------------------------------------------------------;