108 lines
2.8 KiB
Bash
Executable File
108 lines
2.8 KiB
Bash
Executable File
#!/bin/sh
|
|
# Convenience wrapper for easily viewing/setting options that
|
|
# the project's CMake scripts will recognize
|
|
set -e
|
|
command="$0 $*"
|
|
|
|
# check for `cmake` command
|
|
type cmake >/dev/null 2>&1 || {
|
|
echo "\
|
|
This package requires CMake, please install it first, then you may
|
|
use this configure script to access CMake equivalent functionality.\
|
|
" >&2
|
|
exit 1
|
|
}
|
|
|
|
usage="\
|
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
|
|
|
Build Directory:
|
|
--builddir=DIR place build files in directory [build]
|
|
|
|
Installation Directories:
|
|
--prefix=PREFIX installation directory [/usr/local/zeek]
|
|
|
|
Optional Features:
|
|
--enable-debug compile in debugging mode
|
|
|
|
Required Packages in Non-Standard Locations:
|
|
--with-pcap=PATH path to libpcap install root
|
|
|
|
Influential Environment Variables (only on first invocation
|
|
per build directory):
|
|
CC C compiler command
|
|
CFLAGS C compiler flags
|
|
CXX C++ compiler command
|
|
CXXFLAGS C++ compiler flags
|
|
"
|
|
|
|
sourcedir="$(cd "$(dirname "$0")" && pwd)"
|
|
|
|
# Function to append a CMake cache entry definition to the
|
|
# CMakeCacheEntries variable
|
|
# $1 is the cache entry variable name
|
|
# $2 is the cache entry variable type
|
|
# $3 is the cache entry variable value
|
|
append_cache_entry() {
|
|
CMakeCacheEntries="$CMakeCacheEntries -D $1:$2=$3"
|
|
}
|
|
|
|
# set defaults
|
|
builddir=build
|
|
CMakeCacheEntries=""
|
|
append_cache_entry CMAKE_INSTALL_PREFIX PATH /usr/local/zeek
|
|
append_cache_entry ENABLE_DEBUG BOOL false
|
|
|
|
# parse arguments
|
|
while [ $# -ne 0 ]; do
|
|
case "$1" in
|
|
-*=*) optarg=$(echo "$1" | sed 's/[-_a-zA-Z0-9]*=//') ;;
|
|
*) optarg= ;;
|
|
esac
|
|
|
|
case "$1" in
|
|
--help | -h)
|
|
echo "${usage}" 1>&2
|
|
exit 1
|
|
;;
|
|
--builddir=*)
|
|
builddir=$optarg
|
|
;;
|
|
--prefix=*)
|
|
append_cache_entry CMAKE_INSTALL_PREFIX PATH $optarg
|
|
;;
|
|
--enable-debug)
|
|
append_cache_entry ENABLE_DEBUG BOOL true
|
|
;;
|
|
--with-pcap=*)
|
|
append_cache_entry PCAP_ROOT_DIR PATH $optarg
|
|
;;
|
|
*)
|
|
echo "Invalid option '$1'. Try $0 --help to see available options."
|
|
exit 1
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [ -d $builddir ]; then
|
|
# If build directory exists, check if it has a CMake cache
|
|
if [ -f $builddir/CMakeCache.txt ]; then
|
|
# If the CMake cache exists, delete it so that this configuration
|
|
# is not tainted by a previous one
|
|
rm -f $builddir/CMakeCache.txt
|
|
fi
|
|
else
|
|
# Create build directory
|
|
mkdir -p $builddir
|
|
fi
|
|
|
|
echo "Build Directory : $builddir"
|
|
echo "Source Directory: $sourcedir"
|
|
cd $builddir
|
|
cmake $CMakeCacheEntries $sourcedir
|
|
|
|
echo "# This is the command used to configure this build" >config.status
|
|
echo $command >>config.status
|
|
chmod u+x config.status
|