mirror of
				https://github.com/Telecominfraproject/wlan-cloud-lib-cppkafka.git
				synced 2025-11-04 04:27:48 +00:00 
			
		
		
		
	Find zookeeper and boost properly using cmake
This commit is contained in:
		@@ -2,17 +2,17 @@ cmake_minimum_required(VERSION 2.8.1)
 | 
				
			|||||||
project(cppkafka)
 | 
					project(cppkafka)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
 | 
					set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
 | 
				
			||||||
 | 
					set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include_directories(${CMAKE_SOURCE_DIR}/include/cppkafka)
 | 
					include_directories(${CMAKE_SOURCE_DIR}/include/cppkafka)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
add_subdirectory(src)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set(GOOGLETEST_ROOT ${CMAKE_SOURCE_DIR}/third_party/googletest)
 | 
					set(GOOGLETEST_ROOT ${CMAKE_SOURCE_DIR}/third_party/googletest)
 | 
				
			||||||
set(GOOGLETEST_INCLUDE ${GOOGLETEST_ROOT}/googletest/include)
 | 
					set(GOOGLETEST_INCLUDE ${GOOGLETEST_ROOT}/googletest/include)
 | 
				
			||||||
set(GOOGLETEST_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/googletest)
 | 
					set(GOOGLETEST_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/googletest)
 | 
				
			||||||
set(GOOGLETEST_LIBRARY ${GOOGLETEST_BINARY_DIR}/googletest)
 | 
					set(GOOGLETEST_LIBRARY ${GOOGLETEST_BINARY_DIR}/googletest)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include(ExternalProject)
 | 
					include(ExternalProject)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ExternalProject_Add(
 | 
					ExternalProject_Add(
 | 
				
			||||||
    googletest
 | 
					    googletest
 | 
				
			||||||
    DOWNLOAD_COMMAND ""
 | 
					    DOWNLOAD_COMMAND ""
 | 
				
			||||||
@@ -22,12 +22,18 @@ ExternalProject_Add(
 | 
				
			|||||||
                     "-Dgtest_force_shared_crt:bool=ON"
 | 
					                     "-Dgtest_force_shared_crt:bool=ON"
 | 
				
			||||||
    INSTALL_COMMAND ""
 | 
					    INSTALL_COMMAND ""
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
# Make sure we build googletest before anything else
 | 
					
 | 
				
			||||||
add_dependencies(cppkafka googletest)
 | 
					# Look for Boost (just need boost.optional headers here)
 | 
				
			||||||
 | 
					find_package(Boost REQUIRED)
 | 
				
			||||||
 | 
					include_directories(${Boost_INCLUDE_DIRS})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
option(ENABLE_ZOOKEEPER "Whether to enable zookeeper support" ON)
 | 
					option(ENABLE_ZOOKEEPER "Whether to enable zookeeper support" ON)
 | 
				
			||||||
 | 
					 | 
				
			||||||
if (ENABLE_ZOOKEEPER)
 | 
					if (ENABLE_ZOOKEEPER)
 | 
				
			||||||
 | 
					    find_package(Zookeeper REQUIRED)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    message(STATUS "Found zookeeper library")
 | 
				
			||||||
 | 
					    include_directories(${ZOOKEEPER_INCLUDE_DIR})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    set(CPPKAFKA_HAVE_ZOOKEEPER ON)
 | 
					    set(CPPKAFKA_HAVE_ZOOKEEPER ON)
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -37,5 +43,8 @@ configure_file(
 | 
				
			|||||||
  "${CMAKE_CURRENT_SOURCE_DIR}/include/cppkafka/config.h"
 | 
					  "${CMAKE_CURRENT_SOURCE_DIR}/include/cppkafka/config.h"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					add_subdirectory(src)
 | 
				
			||||||
 | 
					# Make sure we build googletest before anything else
 | 
				
			||||||
 | 
					add_dependencies(cppkafka googletest)
 | 
				
			||||||
enable_testing()
 | 
					enable_testing()
 | 
				
			||||||
add_subdirectory(tests)
 | 
					add_subdirectory(tests)
 | 
				
			||||||
							
								
								
									
										33
									
								
								cmake/FindZookeeper.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								cmake/FindZookeeper.cmake
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					find_path(ZOOKEEPER_ROOT_DIR
 | 
				
			||||||
 | 
					    NAMES include/zookeeper/zookeeper.h
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					find_path(ZOOKEEPER_INCLUDE_DIR
 | 
				
			||||||
 | 
					    NAMES zookeeper/zookeeper.h
 | 
				
			||||||
 | 
					    HINTS ${ZOOOKEEPER_ROOT_DIR}/include
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set (HINT_DIR ${ZOOKEEPER_ROOT_DIR}/lib)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					find_library(ZOOKEEPER_LIBRARY
 | 
				
			||||||
 | 
					    NAMES zookeeper_mt zookeeper_st
 | 
				
			||||||
 | 
					    HINTS ${HINT_DIR}
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include(FindPackageHandleStandardArgs)
 | 
				
			||||||
 | 
					find_package_handle_standard_args(ZOOKEEPER DEFAULT_MSG
 | 
				
			||||||
 | 
					    ZOOKEEPER_LIBRARY
 | 
				
			||||||
 | 
					    ZOOKEEPER_INCLUDE_DIR
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include(CheckCXXSourceCompiles)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set(CMAKE_REQUIRED_LIBRARIES ${ZOOKEEPER_LIBRARY})
 | 
				
			||||||
 | 
					check_cxx_source_compiles("int main() { return 0; }" ZOOKEEPER_LINKS)
 | 
				
			||||||
 | 
					set(CMAKE_REQUIRED_LIBRARIES)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mark_as_advanced(
 | 
				
			||||||
 | 
					    ZOOKEEPER_ROOT_DIR
 | 
				
			||||||
 | 
					    ZOOKEEPER_INCLUDE_DIR
 | 
				
			||||||
 | 
					    ZOOKEEPER_LIBRARY
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
@@ -19,7 +19,7 @@ add_definitions("-DKAFKA_TEST_INSTANCE=\"${KAFKA_TEST_INSTANCE}\"")
 | 
				
			|||||||
add_definitions("-DZOOKEEPER_TEST_INSTANCE=\"${ZOOKEEPER_TEST_INSTANCE}\"")
 | 
					add_definitions("-DZOOKEEPER_TEST_INSTANCE=\"${ZOOKEEPER_TEST_INSTANCE}\"")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (ENABLE_ZOOKEEPER)
 | 
					if (ENABLE_ZOOKEEPER)
 | 
				
			||||||
    link_libraries(zookeeper_mt)
 | 
					    link_libraries(${ZOOKEEPER_LIBRARY})
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
create_test(consumer)
 | 
					create_test(consumer)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user