#!/bin/bash # Wrapper around cmake to emulate useful options # from the previous autoconf-based configure script. RUNDIR=$(dirname "$0") RUNDIR=$(cd "$RUNDIR" && pwd) CURDIR=$(pwd) FLAGS=() usage() { exitval="$1" errmsg="$2" if [ $exitval -ne 0 ] ; then exec 1>&2 fi if [ ! -z "$errmsg" ] ; then echo "ERROR: $errmsg" 1>&2 fi cat <] [-- []] --prefix=PREFIX install architecture-independent files in PREFIX --enable-threading Enable code to support partly multi-threaded use --enable-rdrand Enable RDRAND Hardware RNG Hash Seed generation on supported x86/x64 platforms. --enable-shared build shared libraries [default=yes] --enable-static build static libraries [default=yes] --disable-Bsymbolic Avoid linking with -Bsymbolic-function --disable-werror Avoid treating compiler warnings as fatal errors --disable-extra-libs Avoid linking against extra libraries, such as libbsd EOF exit } if [ "$CURDIR" = "$RUNDIR" ] ; then usage 1 "Please mkdir some other build directory, and run this script from there." fi if ! cmake --version ; then usage 1 "Unable to find a working cmake, please be sure you have it installed and on your PATH" fi while [ $# -gt 0 ] ; do case "$1" in -h|--help) usage 0 ;; --prefix) FLAGS+=(-DCMAKE_INSTALL_PREFIX="$2") shift ;; --prefix=*) FLAGS+=(-DCMAKE_INSTALL_PREFIX="${1##--prefix=}") ;; --enable-threading) FLAGS+=(-DENABLE_THREADING=ON) ;; --enable-rdrand) FLAGS+=(-DENABLE_RDRAND=ON) ;; --enable-shared) FLAGS+=(-DBUILD_SHARED_LIBS=ON) ;; --disable-shared) FLAGS+=(-DBUILD_SHARED_LIBS=OFF) ;; --enable-static) FLAGS+=(-DBUILD_STATIC_LIBS=ON) ;; --disable-static) FLAGS+=(-DBUILD_STATIC_LIBS=OFF) ;; --disable-Bsymbolic) FLAGS+=(-DDISABLE_BSYMBOLIC=ON) ;; --disable-werror) FLAGS+=(-DDISABLE_WERROR=ON) ;; --disable-extra-libs) FLAGS+=(-DDISABLE_EXTRA_LIBS=ON) ;; --) shift break ;; -*) usage 1 "Unknown arguments: $*" ;; *) break ;; esac shift done exec cmake "${FLAGS[@]}" "$@" "${RUNDIR}"