summaryrefslogtreecommitdiffstats
path: root/kpilot/configure
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch)
tree67208f7c145782a7e90b123b982ca78d88cc2c87 /kpilot/configure
downloadtdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz
tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpilot/configure')
-rwxr-xr-xkpilot/configure213
1 files changed, 213 insertions, 0 deletions
diff --git a/kpilot/configure b/kpilot/configure
new file mode 100755
index 000000000..48706b277
--- /dev/null
+++ b/kpilot/configure
@@ -0,0 +1,213 @@
+#!/bin/sh
+
+# simple configure script for user-friendliness
+
+# file to put output into for cmake to read in...
+OUTFILE=$(dirname $0)/Makefile.cmake.in
+CMAKEOUTFILE=$(dirname $0)/CMakeOptions.txt
+
+# --- FUNCTIONS ---
+
+usage()
+{
+echo "
+
+Hi there. You can use this script to configure parameters used by cmake.
+Currently, understood parameters are as follows:
+
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ --enable-debug=ARG enables debug symbols (yes|no) default=no
+ --enable-tests=ARG enable test suite (yes|no) default=no
+ --with-pilot-link=PATH set prefix for pilot-link files [default=check]
+ --with-mal=PATH set path for libmal files [default=check]
+
+ --show show existing configuration values
+
+More obscure options:
+
+ --with-simple-builddir=ARG use 'build' instead of longer name (yes|no) default=no
+ --with-pilot-link-includes=PATH set include directory for pilot-link
+ --with-pilot-link-lib=PATH set full path to libpisock.so
+
+"
+}
+
+getvalue()
+{
+ KEY="$1"
+ # use dynamic variable...
+ eval VAL='$'$KEY
+
+ ECHO="$2"
+
+ if test -n "$VAL"
+ then
+ CMAKE_FLAGS="${CMAKE_FLAGS}set(${KEY} \"${VAL}\")
+"
+ if [ "$ECHO" = "y" ]
+ then
+ echo "$KEY=\"$VAL\""
+ fi
+ fi
+
+}
+
+outputCmakeValues()
+{
+
+# only include what we're passed
+CMAKE_FLAGS=""
+
+getvalue CMAKE_INSTALL_PREFIX n
+getvalue CMAKE_BUILD_TYPE n
+getvalue ENABLE_TESTS n
+#getvalue BUILD_DIR y
+getvalue PILOTLINK_BASE n
+getvalue MAL_BASE n
+getvalue PILOTLINK_INCLUDE_DIR n
+getvalue PILOTLINK_LIBRARY n
+
+echo "$CMAKE_FLAGS"
+}
+
+outputMakeValues()
+{
+getvalue BUILD_DIR y
+}
+
+# --- MAIN ---
+
+# first, if there's no args, don't lose what we had stored (badness).
+# simply show what available arguments are and exit...
+if test -z "$1"; then
+ usage
+ exit
+fi
+
+CMAKE_BUILD_TYPE="normal"
+ENABLE_TESTS="NO"
+BUILD_DIR=build-`uname -sr | tr -d [:space:] | tr -Cs a-zA-Z0-9 _`
+
+while test -n "$1"
+do
+ case "$1" in
+ --prefix=*)
+ CMAKE_INSTALL_PREFIX=$(echo $1 | cut -d "=" -f2)
+ ;;
+ --enable-debug*)
+ T=$(echo $1 | cut -d "=" -f2 | tr '[A-Z]' '[a-z]')
+ if test "$T" = "$1" || test "yes" = "$T" || test "full" = "$T" ; then
+ CMAKE_BUILD_TYPE=debug
+ else
+ CMAKE_BUILD_TYPE=normal
+ fi
+ ;;
+ --enable-test*)
+ T=$(echo "$1" | cut -d = -f2 | tr '[A-Z]' '[a-z]')
+ if test "$T" = "$1" || test "yes" = "$T" ; then
+ ENABLE_TESTS=YES
+ else
+ ENABLE_TESTS=NO
+ fi
+ ;;
+ --with-simple-builddir*)
+ T=$(echo "$1" | cut -d = -f2 | tr '[A-Z]' '[a-z]')
+ if test "$T" = "$1" || test "yes" = "$T" ; then
+ BUILD_DIR=build
+ fi
+ ;;
+ --with-pilot-link-includes=*)
+ PILOTLINK_INCLUDE_DIR=$(echo $1 | cut -d = -f2)
+ ;;
+ --with-pilot-link-lib=*)
+ PILOTLINK_LIBRARY=$(echo $1 | cut -d = -f2)
+ ;;
+ --with-pilot-link=*)
+ PILOTLINK_BASE=$(echo $1 | cut -d "=" -f2)
+ ;;
+ --with-mal=*)
+ MAL_BASE=$(echo $1 | cut -d "=" -f2)
+ ;;
+ --show)
+ echo "Existing configuration values:"
+ echo "-----------"
+ cat "$OUTFILE" 2>/dev/null
+ sed 's/^set(\([A-Z_]*\) "\(.*\)")/\1="\2"/' "$CMAKEOUTFILE" 2>/dev/null
+ echo "-----------"
+ exit
+ ;;
+ *)
+ usage
+ exit
+ ;;
+ esac
+
+ shift
+
+done
+
+###
+#
+# BSD uses gmake for the GNU make which we need ...
+#
+if uname -s | grep BSD > /dev/null 2>&1 ; then
+ MAKE=gmake
+else
+ MAKE=make
+fi
+
+outputCmakeValues > "$CMAKEOUTFILE.new"
+outputMakeValues > "$OUTFILE.new"
+
+
+###
+#
+# If the configure values have changed, then we should update the
+# CMakeLists.txt in order to prompt a re-run of cmake.
+#
+update=no
+failed=no
+if test -f "$CMAKEOUTFILE" ; then
+ diff -q "$CMAKEOUTFILE" "$CMAKEOUTFILE.new" > /dev/null 2>&1 || update=yes
+else
+ update=yes
+fi
+
+if test -f "$OUTFILE" ; then
+ diff -q "$OUTFILE" "$OUTFILE.new" > /dev/null 2>&1 || update=yes
+else
+ update=yes
+fi
+
+if test yes = "$update" ; then
+ cp "$CMAKEOUTFILE.new" "$CMAKEOUTFILE"
+ cp "$OUTFILE.new" "$OUTFILE"
+ touch CMakeLists.txt
+ $MAKE -f Makefile.cmake build-check || failed=yes
+fi
+
+rm -f "$CMAKEOUTFILE.new"
+rm -f "$OUTFILE.new"
+rm -f build*/CMakeCache.txt
+
+###
+#
+# Inform user and create settings file.
+#
+echo "
+Thanks. Here are the values I will be using...
+
+$(outputCmakeValues)
+
+$(outputMakeValues)
+
+To compile KPilot, now run GNU make, like so:
+
+ $MAKE -f Makefile.cmake
+
+"
+
+if test "yes" = "$failed" ; then
+ echo "Configuration failed, so take a good look at the build output."
+fi
+