diff options
author | Garrett D'Amore <garrett@damore.org> | 2016-06-03 12:03:28 -0700 |
---|---|---|
committer | Garrett D'Amore <garrett@damore.org> | 2016-06-03 12:03:28 -0700 |
commit | 32dd4fa9aa8b7097d2d49bae1da1f436f923f3e3 (patch) | |
tree | 2b2c1d26d965eeb495a7f587a3ff966d79d4aac9 | |
parent | eccd53f82d6b97f95c0de1d9a832a9e3ef610824 (diff) | |
download | nanomsg-32dd4fa9aa8b7097d2d49bae1da1f436f923f3e3.tar.gz |
fixes #751 Provide a configure script to wrap around CMake
-rwxr-xr-x | configure | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/configure b/configure new file mode 100755 index 0000000..5c36372 --- /dev/null +++ b/configure @@ -0,0 +1,108 @@ +#!/bin/sh +# +# Copyright 2016 Garrett D'Amore <garrett@damore.org> +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom +# the Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# +# This configure script provides the usual autoconf style interface for +# installation, but simply uses cmake. +# +SRCDIR=`dirname $0` +CURDIR=`pwd` + +strip_arg() +{ + echo "$1" | sed "s/[^=]*=//" +} + +warn() { + echo "$*" 2>&1 +} + +find_prog() { + for p in `echo "$PATH" | sed 's/:/ /'`; do + if [ -x ${p}/$1 ] + then + echo "${p}/${1}" + return 0 + fi + done + return 1 +} + +need_cmake() { + warn "This program requires CMake 2.6 or newer to build." + warn "Obtain CMake from www.cmake.org" + exit 1 +} + +help() { + echo "This configure script is a convenience wrapper around" + echo "CMake. Only a limited subset of configuration options" + echo "are supported. For a fully featured build, use CMake". + echo + echo "Execute as $0 [options]" + echo + echo "Options supported are:" + echo + echo " --prefix={path} Set installation directory prefix." + echo " --with-cmake={path} Location of CMake executable." + echo + exit 1 +} + +# Argument parsing +# +while [ -n "$1" ]; do + case "$1" in + --with-cmake) + CMAKE="$2" + shift 2 + ;; + --with-cmake=*) + CMAKE=`strip_arg "$1"` + shift + ;; + --prefix) + PREFIX="-DCMAKE_INSTALL_PREFIX=$2" + shift 2 + ;; + --prefix=*) + PREFIX=-DCMAKE_INSTALL_PREFIX=`strip_arg "$1"` + shift + ;; + *) + help + ;; + esac +done + +if [ -z "${CMAKE}" ]; then + CMAKE=`find_prog cmake` || need_cmake +fi + +if [ -f src/nn.h ] +then + warn "NB: In-tree building is not recommended." +fi + +GENERATOR="Unix Makefiles" + +$CMAKE $PREFIX -G "$GENERATOR" $SRCDIR |