hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18901) Support build with CMake
Date Thu, 12 Oct 2017 21:47:00 GMT

    [ 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)

Mime
View raw message