Alexey Serbin has submitted this change and it was merged. (
http://gerrit.cloudera.org:8080/24435 )
Change subject: KUDU-3780: introduce KUDU_CLIENT_ONLY build option
......................................................................
KUDU-3780: introduce KUDU_CLIENT_ONLY build option
This changelist introduces a shortcut to build only the kudu_client C++
library and a subset of 3rd-party components required by dependency.
The docs/installation.adoc has been updated accordingly, and below
is an excerpt:
To build a subset of 3rd-party components, specify 'client_only'
command-line argument to the build-if-necessary.sh script:
$ ./thirdparty/build-if-necessary.sh client_only
With the subset of the 3rd-party components built, run cmake specifying
-DKUDU_CLIENT_ONLY=1 in the build sub-directory:
$ ../../thirdparty/installed/common/bin/cmake \
-DCMAKE_BUILD_TYPE=release \
-DKUDU_CLIENT_ONLY=1 \
../..
And then run make (maybe, adding -j<N> to match number of available
CPU cores), specifying 'kudu_client_exported' and 'kudu_client' targets:
$ make kudu_client kudu_client_exported
NOTE:
The original approach to downloading 3rd-party components' dist
tarballs is quite simplistic, and it leads to downloading of _all_
of them regardless of the subset of the components that are actually
being built for the selected 'client_only' dependency group. This
changelist focuses on reducing build times of 3rd-party components
for a particular client-only use case. A follow-up changelist might
take care of the selective downloading of dist tarballs.
Change-Id: Ibc8b021e03808a3ca8da6cfff617bc913772f271
Reviewed-on: http://gerrit.cloudera.org:8080/24435
Tested-by: Alexey Serbin <[email protected]>
Reviewed-by: Michael Smith <[email protected]>
Reviewed-by: Marton Greber <[email protected]>
---
M CMakeLists.txt
M docs/installation.adoc
M src/kudu/util/CMakeLists.txt
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M thirdparty/build-if-necessary.sh
M thirdparty/build-thirdparty.sh
7 files changed, 320 insertions(+), 195 deletions(-)
Approvals:
Alexey Serbin: Verified
Michael Smith: Looks good to me, but someone else must approve
Marton Greber: Looks good to me, approved
--
To view, visit http://gerrit.cloudera.org:8080/24435
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ibc8b021e03808a3ca8da6cfff617bc913772f271
Gerrit-Change-Number: 24435
Gerrit-PatchSet: 10
Gerrit-Owner: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>
Gerrit-Reviewer: Michael Smith <[email protected]>