do_cmake.sh: Add CEPH_GIT_DIR

This patch adds a new env variables that users can set to define the
location of the checked out ceph git repo.

The documentation mentions having to go edit the script directly to
point to the ceph git directory if the build dir isn't in the
top directory of the checked out git repo. This patch changes the '..'
into an env variable, CEPH_GIT_DIR, that defaults to '..'. To make it
easy to script and change.

This allows someone to do things like:

 export CEPH_GIT_DIR=~/git/ceph
 ./do_cmake.sh

or

 CEPH_GIT_DIR=~/git/ceph ./do_cmake.sh

Which is much better then editing the script directly.
The README.md has been modified to mention this variable and also
includes a drive by to mention `make -j` for new contributors to
build ceph quicker.

Signed-off-by: Matthew Oliver <moliver@suse.com>
This commit is contained in:
Matthew Oliver 2019-10-25 05:20:22 +00:00
parent 324f8781ca
commit eb33b30d3d
2 changed files with 11 additions and 6 deletions

View File

@ -61,13 +61,17 @@ Build instructions:
(Note: do_cmake.sh now defaults to creating a debug build of ceph that can
be up to 5x slower with some workloads. Please pass
"-DCMAKE_BUILD_TYPE=RelWithDebInfo" to do_cmake.sh to create a non-debug
"-DCMAKE_BUILD_TYPE=RelWithDebInfo" to do_cmake.sh to create a non-debug
release.)
(Note: `make` alone will use only one CPU thread, this could take a while. use
the `-j` option to use more threads. Something like `make -j$(nproc)` would be
a good start.
This assumes you make your build dir a subdirectory of the ceph.git
checkout. If you put it elsewhere, just replace `..` in do_cmake.sh with a
correct path to the checkout. Any additional CMake args can be specified
setting ARGS before invoking do_cmake. See [cmake options](#cmake-options)
checkout. If you put it elsewhere, just point `CEPH_GIT_DIR`to the correct
path to the checkout. Any additional CMake args can be specified setting ARGS
before invoking do_cmake. See [cmake options](#cmake-options)
for more details. Eg.
ARGS="-DCMAKE_C_COMPILER=gcc-7" ./do_cmake.sh

View File

@ -3,7 +3,8 @@ set -x
git submodule update --init --recursive
[ -z "$BUILD_DIR" ] && BUILD_DIR=build
: ${BUILD_DIR:=build}
: ${CEPH_GIT_DIR:=..}
if [ -e $BUILD_DIR ]; then
echo "'$BUILD_DIR' dir already exists; either rm -rf '$BUILD_DIR' and re-run, or set BUILD_DIR env var to a different directory name"
@ -54,7 +55,7 @@ if type cmake3 > /dev/null 2>&1 ; then
else
CMAKE=cmake
fi
${CMAKE} $ARGS "$@" .. || exit 1
${CMAKE} $ARGS "$@" $CEPH_GIT_DIR || exit 1
set +x
# minimal config to find plugins