From 41ede697d055a9e2b9992b5c9a4ba3fb62a62985 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Tue, 3 Apr 2007 01:48:09 +0000 Subject: [PATCH] Added a hack for "make dist" functionality. --- CMakeLists.txt | 3 +++ extras/makedist.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100755 extras/makedist.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 4242a8f3..418a3375 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -348,6 +348,9 @@ ELSE(DOXYGEN_FOUND) MESSAGE(STATUS "Doxygen not found. You won't be able to build documentation.") ENDIF(DOXYGEN_FOUND) +IF(UNIX) + ADD_CUSTOM_TARGET(dist ./extras/makedist.sh ${PHYSFS_VERSION} COMMENT "Building source tarball") +ENDIF(UNIX) MACRO(MESSAGE_BOOL_OPTION _NAME _VALUE) IF(${_VALUE}) diff --git a/extras/makedist.sh b/extras/makedist.sh new file mode 100755 index 00000000..b9aac9bd --- /dev/null +++ b/extras/makedist.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +# This shell script is roughly equivalent to what "make dist" did in the +# autotools build system and is called from a custom CMake target. + +# !!! FIXME: This code sort of sucks. Consider using CPack instead... + +if [ ! -f ./CMakeLists.txt ]; then + echo "you are in the wrong place." + exit 1 +fi + +if [ -z "$1" ]; then + echo "Wrong arguments." + exit 2 +fi + +set -e + +VERSION="$1" +BASENAME="physfs-$VERSION" +TARBALL="$BASENAME.tar.gz" +TMPCPDIR="../9sdkujy75jv932-physfstmp-$VERSION" +CPDIR="$TMPCPDIR/$BASENAME" + +echo "Packing PhysicsFS $VERSION source tarball..." +echo " + Setting up scratch dir..." +rm -rf $TMPCPDIR +mkdir $TMPCPDIR + +echo " + Making copy of source tree in scratch dir..." +cp -R . $CPDIR/ +echo " + Deleting cruft..." +pushd $CPDIR >/dev/null && rm -rf `svn propget svn:ignore .` && popd >/dev/null +rm -rf `find $CPDIR -type d -name '.svn'` +echo " + Deleting Subversion metadata..." +rm -rf `find $CPDIR -type d -name '.svn'` +echo " + Fixing up permissions..." +chmod -R a+rw $CPDIR +chmod a+x `find $CPDIR -type d` +echo " + Building final tarball..." +rm -f $TARBALL +tar -czf $TARBALL -C $TMPCPDIR $BASENAME +echo " + Cleaning up..." +rm -rf $TMPCPDIR +echo " + All done! Packed to '$TARBALL' ..." +set +e + +exit 0 +