[
https://issues.apache.org/jira/browse/HBASE-18901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16202679#comment-16202679
]
Enis Soztutar commented on HBASE-18901:
---------------------------------------
Great, this is a good start.
I think we should stick with CMake going forward, since it seems to be the most
popular tool used by most of our dependencies, Hadoop, and in the cpp
community. We should get rid of current Makefile and the buck based build. No
need to support both.
A couple of questions for the patch:
- Shouldn't we remove the current Makefile in this patch as well? Cmake will
create the makefile, no?
- All of the tests go under test/ rather than being modularized. Is that
intentional? Is there a way to keep the structure as {{src/test/client}},
{{src/test/connection}}, etc?
- I would say simple-client and load-client are useful for benchmarking and
testing. Maybe we should move them under {{src/hbase/exe/}}, {{src/hbase/bin}}
or maybe {{src/hbase/app}}.
{code}
rename hbase-native-client/src/hbase/{client => examples}/load-client.cc (100%)
rename hbase-native-client/src/hbase/{client => examples}/simple-client.cc
(100%)
{code}
- In HBASE-18727, we explicitly removed the JNI dependency from the main
libHBaseClient build. That is why the headers under test-util stayed in the src
directory instead of the include dir. Are we requiring libjni with this build?
{code}
diff --git a/hbase-native-client/src/hbase/test-util/test-util.h
b/hbase-native-client/include/hbase/test-util/test-util.h
{code}
- Remove this line, instead of commenting out?
{code}
-#include <bits/stdc++.h>
+//#include <bits/stdc++.h>
{code}
Follow up items that we should do after this patch:
- Get rid of buck based build, and all of the BUCK files, etc.
- Hook up cmake with the general mvn build by providing a pom.xml in the
module. calling mvn compile or test with {{-Pnative}} should kick in the native
build with cmake. See Hadoop's integration for an example.
-
> Support build with CMake
> ------------------------
>
> Key: HBASE-18901
> URL: https://issues.apache.org/jira/browse/HBASE-18901
> Project: HBase
> Issue Type: Sub-task
> Reporter: Josh Elser
> Assignee: marco polo
> Labels: C++
> Fix For: HBASE-14850
>
> Attachments: HBASE-18901.v1.HBASE-14850.patch,
> HBASE-18901.v2.HBASE-14850.patch, HBASE-18901.v3.HBASE-14850.patch
>
>
> I've co-opted some help from folks in trying to support CMake as the build
> tool instead of Buck.
> They have something working, but need to consolidate the patch. Filing an
> issue for them to put a patch on.
> FYI [~enis], [~tedyu]
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)