]> granicus.if.org Git - json-c/commitdiff
Add a shim script to ease shift from autoconf to cmake.
authorEric Haszlakiewicz <erh+git@nimenees.com>
Mon, 2 Dec 2019 04:42:40 +0000 (23:42 -0500)
committerEric Haszlakiewicz <erh+git@nimenees.com>
Mon, 2 Dec 2019 04:42:40 +0000 (23:42 -0500)
cmake-configure [new file with mode: 0755]

diff --git a/cmake-configure b/cmake-configure
new file mode 100755 (executable)
index 0000000..7a06b66
--- /dev/null
@@ -0,0 +1,87 @@
+#!/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 <<EOF
+$0 [<configure_options>] [-- [<cmake options>]]
+  --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
+
+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
+               ;;
+       --enable-threading)
+               FLAGS+=(-DENABLE_THREADING=ON)
+               ;;
+       --enable-rdrand)
+               FLAGS+=(-DENABLE_RDRAND=ON)
+               ;;
+       --enable-shared)
+               FLAGS+=(-DBUILD_SHARED_LIBS=ON)
+               ;;
+       --enable-static)
+               FLAGS+=(-DBUILD_SHARED_LIBS=OFF)
+               ;;
+       --disable-Bsymbolic)
+               FLAGS+=(-DDISABLE_BSYMBOLIC=ON)
+               ;;
+       --disable-werror)
+               FLAGS+=(-DDISABLE_WERROR=ON)
+               ;;
+       --)
+               shift
+               break
+               ;;
+       -*)
+               usage 1 "Unknown arguments: $*"
+               ;;
+       *)
+               break
+               ;;
+       esac
+       shift
+done
+
+exec cmake "${FLAGS[@]}" "$@" "${RUNDIR}"