Permalink
Fetching contributors…
Cannot retrieve contributors at this time
executable file 100 lines (85 sloc) 2.83 KB
#!/usr/bin/env bash
#
# @author Couchbase <info@couchbase.com>
# @copyright 2011-2014 Couchbase, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Note: This script is provided as a convenience wrapper to CMake, which
# is the build tool used for configuring this project. Please do not make
# any substantive changes only in this script or in the top-level
# GNUmakefile, as the normal process of building Couchbase server uses
# only CMake.
usage() {
cat <<EOF
\`$0' configures ns_server to adapt to many kinds of systems.
Usage: $0 [OPTION]...
Configuration:
-h, --help display this help and exit
Installation directories:
--prefix=PREFIX install files in PREFIX (required)
--couchdb-src-dir=PATH path to couchdb source directory (../couchdb)
--couchdb-bin-dir=PATH path to couchdb build directory (../build/couchdb)
EOF
}
prefix=
couchdb_src_dir=../couchdb
couchdb_bin_dir=../build/couchdb
for config_arg do
case "$config_arg" in
--help|-h)
usage
exit 0
;;
--prefix=/*)
prefix=${config_arg##--prefix=}
;;
--prefix=*)
echo "--prefix needs to be absolute path"
exit 1
;;
--couchdb-src-dir=*)
couchdb_src_dir=${config_arg##--couchdb-src-dir=}
;;
--couchdb-bin-dir=*)
couchdb_bin_dir=${config_arg##--couchdb-bin-dir=}
;;
*)
echo "Unknown option: ${config_arg}"
exit 1
;;
esac
done
if test -z "$prefix" ; then
usage
echo "Error: --prefix option is required"
exit 1
fi
if test '!' -f "$couchdb_src_dir/src/couchdb/couch_db.hrl"; then
echo "could not find couch_db.hrl in given couchdb-src path: $couchdb_src_dir"
exit 1
fi
# Patch up relative couchdb_src_dir, since cmake executes in a subdirectory
couchdb_src_dir=`cmake -D "dir=${couchdb_src_dir}" -P cmake_modules/abspath.cmake`
couchdb_bin_dir=`cmake -D "dir=${couchdb_bin_dir}" -P cmake_modules/abspath.cmake`
mkdir -p build
cd build
cmake -D "COUCHDB_SRC_DIR=${couchdb_src_dir}" \
-D "COUCHDB_BIN_DIR=${couchdb_bin_dir}" -D "CMAKE_INSTALL_PREFIX=${prefix}" ..
if test $? = 0; then
echo
echo "ns_server is configured and is ready to be built!"
echo "PREFIX: ${prefix}"
echo "couchdb-src-dir: ${couchdb_src_dir}"
echo "couchdb-bin-dir: ${couchdb_bin_dir}"
echo
fi