work some nifty hacks to work as if we had in tree building.
[apps/madmutt.git] / configure
diff --git a/configure b/configure
new file mode 100755 (executable)
index 0000000..bc74eab
--- /dev/null
+++ b/configure
@@ -0,0 +1,29 @@
+#! /bin/sh
+
+cd $(dirname $0)
+
+do_makefile() {
+    dir=$(dirname $1)
+    case $dir in
+        ./*/*/*)  rel="../../..";;
+        ./*/*)    rel="../.."   ;;
+        ./*)      rel=".."      ;;
+        .)        rel="."       ;;
+        *)        echo "cannot guess deepness of '$dir'"; exit 1
+    esac
+    echo "all %: ; @\$(MAKE) -s -C $rel/build/$dir \$*" >  $dir/Makefile
+    echo "-include \$(wildcard *.mk)"                   >> $dir/Makefile
+}
+
+find . -name CMakeLists.txt | while read file; do do_makefile $file; done
+
+builddir=.build-$(hostname)-$(gcc -dumpmachine)-$(gcc -dumpversion)
+rm -rf $builddir
+mkdir -p $builddir
+ln -s $builddir build
+
+if test $# -eq 0; then
+    cd $builddir && cmake -DWITH_NNTP=1 -DWITH_IDN=1 -DUSE_HCACHE=1 -DWITH_LIBESMTP=1 --with-prefix=/usr ..
+else
+    cd $builddir && cmake "$@" ..
+fi