From ffdf9e74747c4bb31c14fa7722de107e9ddf3777 Mon Sep 17 00:00:00 2001 From: Jon Siwek Date: Wed, 17 Nov 2010 10:14:49 -0600 Subject: [PATCH] Configure wrapper checks if source directory moved --- configure | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 4438a65487..2963a9ca6c 100755 --- a/configure +++ b/configure @@ -164,8 +164,29 @@ while [ $# -ne 0 ]; do shift done -# Create build directory -mkdir -p $builddir +if [ -d $builddir ]; then + # If build directory exists, check if it has a CMake cache + if [ -f $builddir/CMakeCache.txt ]; then + # If the Cmake cache exists, then check that it thinks + # the source tree exists where it's currently located + cmakehomedir=`grep CMAKE_HOME_DIRECTORY $builddir/CMakeCache.txt | \ + sed 's/CMAKE_HOME_DIRECTORY:INTERNAL=//g'` + if [ "$cmakehomedir" != "$sourcedir" ]; then + # The source tree moved since the build was last configured + echo "\ +The source tree has been moved from: + $cmakehomedir +to: + $sourcedir +To reconfigure in the new source directory, please delete: + $builddir/CMakeCache.txt" >&2 + exit 1 + fi + fi +else + # Create build directory + mkdir -p $builddir +fi echo "Build Directory : $builddir" echo "Source Directory: $sourcedir"