aboutsummaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure51
1 files changed, 51 insertions, 0 deletions
diff --git a/configure b/configure
new file mode 100755
index 0000000..4aaae1c
--- /dev/null
+++ b/configure
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+PROJECT=kicad-utils
+
+set -e
+
+CMAKE=`which cmake 2>/dev/null`
+PREFIX=$HOME/opt/$PROJECT
+# TODO: find basedir from the current binary
+BASEDIR=`pwd`
+
+if [ ! -x "$CMAKE" ]
+then
+ echo "cmake is not installed"
+ exit 1
+fi
+
+cd $BASEDIR
+
+NEW=`test -d build && echo 1 || true`
+
+mkdir -p build
+
+CMAKE_OPTS=()
+CMAKE_OPTS+=(-DCMAKE_INSTALL_PREFIX=$PREFIX)
+#CMAKE_OPTS+=(-DCMAKE_SKIP_RPATH=NO)
+#CMAKE_OPTS+=(-DCMAKE_SKIP_INSTALL_RPATH=NO)
+# These are required until Antlr C++ is installed by the system
+CMAKE_OPTS+=(-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE)
+CMAKE_OPTS+=(-DAntlr4_DIR=$HOME/opt/antlr4-cpp/lib/cmake/Antlr4)
+
+cd build
+echo ""
+echo "Generating build.."
+echo ""
+cmake "${CMAKE_OPTS[@]}" ..
+
+
+echo ""
+echo ""
+echo ""
+
+if [[ $NEW == 1 ]]
+then
+ echo "Reusing existing build/ directory. You should probably run cd build && make clean"
+else
+ echo "The build files are generated in build/. To build run: cd build && make install"
+ echo "The binaries will be installed under $PREFIX"
+fi
+
+echo ""