1616# specific language governing permissions and limitations
1717# under the License.
1818#
19-
2019cmake_minimum_required (VERSION 3.0)
2120PROJECT (hbaseclient CXX)
2221set (PROJECT_NAME "hbaseclient" )
@@ -26,29 +25,24 @@ set(PROJECT_VERSION_PATCH 0)
2625set (BUILD_SHARED_LIBS ON )
2726## set our cmake module path
2827list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /cmake" )
29-
3028## include the Protobuf generation code
3129include (ProtobufGen)
3230if (COMPILER_SUPPORTS_CXX14)
3331 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14" )
3432else ()
3533 message (STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++14 support. Please use a different C++ compiler." )
3634endif ()
37-
3835set (CMAKE_CXX_STANDARD 14)
3936set (CMAKE_CXX_STANDARD_REQUIRED ON )
40-
4137set (HBASE_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR} /src/hbase" )
4238set (HBASE_PROTO_GEN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR} /src/hbase/if" )
4339set (HBASE_PROTO_GEN_INC_DIR "${CMAKE_CURRENT_SOURCE_DIR} /include/hbase/if" )
44-
4540# Set the right openssl root path
4641if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
4742 set (OPENSSL_ROOT_DIR "/usr/local/opt/openssl/" )
4843else ()
4944 set (OPENSSL_ROOT_DIR "/usr/lib/x86_64-linux-gnu" )
5045endif ()
51-
5246# Include OpenSSL
5347find_package (OpenSSL REQUIRED)
5448if (OPENSSL_FOUND)
@@ -70,24 +64,18 @@ find_package(Java REQUIRED)
7064find_package (JNI REQUIRED)
7165find_package (Zookeeper REQUIRED)
7266find_package (Protobuf REQUIRED)
73-
74-
7567if (NOT FOLLY_FOUND)
7668 message (FATAL_ERROR "-- Folly not found" )
7769endif ()
78-
7970if (NOT WANGLE_FOUND)
8071 message (FATAL_ERROR "-- Wangle not found" )
8172endif ()
82-
8373if (NOT PROTOBUF_FOUND)
8474 message (FATAL_ERROR "-- Protocol buffer include directory not found ${PROTOBUF_INCLUDE_DIRS} " )
8575endif ()
86-
8776if (NOT JNI_FOUND)
8877 message (FATAL_ERROR "-- JAVA include directory not found" )
8978endif ()
90-
9179### provide the include directories, starting at the base
9280### and including those from our
9381include_directories (include )
@@ -102,10 +90,6 @@ include_directories(${FOLLY_INCLUDE_DIRS})
10290### the protocol buffer source/headers without polluting our tree.
10391set (CMAKE_BINARY_DIR_GEN "${CMAKE_CURRENT_BINARY_DIR} /${CMAKE_FILES_DIRECTORY} /hbase/if/" )
10492file (MAKE_DIRECTORY ${CMAKE_BINARY_DIR_GEN} )
105-
106-
107-
108-
10993## build a recursive list of sources
11094file (GLOB_RECURSE CONNECTION_SRC "${HBASE_SRC_DIR} /connection/*.cc" )
11195file (GLOB_RECURSE EXCEPTION_SRC "${HBASE_SRC_DIR} /exceptions/*.cc" )
@@ -118,9 +102,7 @@ file(GLOB_RECURSE TEST_UTIL "${HBASE_SRC_DIR}/test-util/*.cc" )
118102include_directories (${CMAKE_CURRENT_BINARY_DIR} /${CMAKE_FILES_DIRECTORY} )
119103include_directories (${SASL_INCLUDE_DIRS} )
120104include_directories (${GFLAGS_INCLUDE_DIR} )
121-
122105file (GLOB_RECURSE PROTO_FILES "${HBASE_SRC_DIR} /if/*.proto" )
123-
124106### generate the protocol buffers.
125107generate_protobuf_src(PROTO_SOURCES PROTO_HEADERS ${PROTO_FILES} )
126108
@@ -138,7 +120,6 @@ target_link_libraries(hbaseclient-static ${KRB5_LIBRARIES})
138120target_link_libraries (hbaseclient-static ${WANGLE_LIBRARIES} )
139121target_link_libraries (hbaseclient-static ${Zookeeper_LIBRARIES} )
140122target_link_libraries (hbaseclient-static ${OPENSSL_LIBRARIES} )
141-
142123add_library (hbaseclient-shared SHARED ${PROTO_SOURCES} ${CLIENT_SRC} ${CONNECTION_SRC} ${EXCEPTION_SRC} ${PROTO_SRC} ${SECURITY_SRC} ${SRDE_SRC} ${UTILS_SRC} )
143124set_target_properties (hbaseclient-shared PROPERTIES LINKER_LANGUAGE CXX)
144125SET_TARGET_PROPERTIES (hbaseclient-shared PROPERTIES COMPILE_FLAGS " -fPIC" )
@@ -152,7 +133,6 @@ target_link_libraries(hbaseclient-shared ${GFLAGS_SHARED_LIB})
152133target_link_libraries (hbaseclient-shared ${KRB5_LIBRARIES} )
153134target_link_libraries (hbaseclient-shared ${WANGLE_LIBRARIES} )
154135target_link_libraries (hbaseclient-shared ${Zookeeper_LIBRARIES} )
155-
156136add_executable (simple-client "${HBASE_SRC_DIR} /examples/simple-client.cc" )
157137SET_TARGET_PROPERTIES (simple-client PROPERTIES COMPILE_FLAGS " " )
158138target_link_libraries (simple-client ${PROTOBUF_LIBRARY} )
@@ -162,7 +142,6 @@ target_link_libraries(simple-client ${GFLAGS_SHARED_LIB})
162142target_link_libraries (simple-client ${KRB5_LIBRARIES} )
163143target_link_libraries (simple-client ${Zookeeper_LIBRARIES} )
164144target_link_libraries (simple-client hbaseclient-static ${CMAKE_THREAD_LIBS_INIT} )
165-
166145add_executable (load-client "${HBASE_SRC_DIR} /examples/load-client.cc" )
167146SET_TARGET_PROPERTIES (load-client PROPERTIES COMPILE_FLAGS " " )
168147target_link_libraries (load-client ${PROTOBUF_LIBRARY} )
@@ -172,26 +151,19 @@ target_link_libraries(load-client ${GFLAGS_SHARED_LIB})
172151target_link_libraries (load-client ${KRB5_LIBRARIES} )
173152target_link_libraries (load-client ${Zookeeper_LIBRARIES} )
174153target_link_libraries (load-client hbaseclient-static ${CMAKE_THREAD_LIBS_INIT} )
175-
176-
177154if (JNI_FOUND)
178155 message (STATUS "JNI_INCLUDE_DIRS=${JNI_INCLUDE_DIRS} " )
179156 message (STATUS "JNI_LIBRARIES=${JNI_LIBRARIES} " )
180157endif ()
181-
182158if (NOT SKIP_TESTS)
183159 include (BuildTests)
184160endif ()
185-
186161## Create a custom target for our linter
187-
188162add_custom_target (
189163 linter
190164 COMMAND ${CMAKE_SOURCE_DIR} /bin/cpplint.sh)
191165
192-
193166# Install library headers
194-
195167include (GNUInstallDirs)
196168file (GLOB RECURSE HEADERS include /*.h)
197169set_target_properties (hbaseclient-static PROPERTIES PUBLIC_HEADER "${HEADERS} " )
@@ -200,18 +172,15 @@ install(TARGETS hbaseclient-static
200172 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
201173 PUBLIC_HEADER DESTINATION include /
202174 COMPONENT LIBRARY )
203-
204175install (TARGETS hbaseclient-shared
205176 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
206177 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
207178 PUBLIC_HEADER DESTINATION include /
208179 COMPONENT LIBRARY )
209-
210180INSTALL (
211181 DIRECTORY ${CMAKE_SOURCE_DIR} /include /
212182 DESTINATION include /
213183 FILES_MATCHING PATTERN "*.h*" )
214-
215184# Install pb-generated headers too
216185 INSTALL (
217186 DIRECTORY "${CMAKE_BINARY_DIR_GEN} "
0 commit comments