Skip to content

Commit

Permalink
Added a hack for "make dist" functionality.
Browse files Browse the repository at this point in the history
  • Loading branch information
icculus committed Apr 3, 2007
1 parent d6647fa commit 41ede69
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
3 changes: 3 additions & 0 deletions CMakeLists.txt
Expand Up @@ -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})
Expand Down
50 changes: 50 additions & 0 deletions 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

0 comments on commit 41ede69

Please sign in to comment.