From fb466b8e2ac6b4b0c2668a6c16e3d90640e161fa Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 11 Feb 2015 13:01:15 +0100 Subject: [PATCH] added support for building umurmur-monitor It is now possible (with cmake) to build umurmur-monitor as a subproject of umumur. To do so, use the following command line to clone umurmur: git clone --recursive or simply update your current copy (fetch, rebase, merge, whatever you prefer) and then run: git submodule udate --init Afterwards, create your build directory and use either ccmake or a command line similiar to the following: cmake -DUSE_SHAREDMEMORY_API=ON \ -DBUILD_UMURMUR_MONITOR=ON Currently, building umurmur-monitor is OFF by default, even if cmake finds the sources for the project. This might change in the future when demanded. --- CMakeLists.txt | 24 ++++++++++++++++++++---- tools/umurmur-monitor | 2 +- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c59f76d..891ae93 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,13 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 2.8.3) project(umurmurd C) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true) +set(UMURMUR_ROOT_PATH "${CMAKE_CURRENT_LIST_DIR}") +set(UMURMUR_BINARY_DIR ${CMAKE_BINARY_DIR}) + option(USE_POLARSSL_TESTCERT "Link to the PolarSSL test certificate and key." OFF) option(USE_POLARSSL_HAVEGE "Use the PolarSSL HAVEGE random generator key." OFF) @@ -68,6 +71,19 @@ else() set(LIBRT rt) endif() +if(USE_SHAREDMEMORY_API) + set(UMURMUR_MONITOR_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/tools/umurmur-monitor/" CACHE PATH "The path to the umurmur-monitor source directory") + option(BUILD_UMURMUR_MONITOR "Build the umurmur-monitor utility" OFF) + + if(BUILD_UMURMUR_MONITOR) + if(EXISTS "${UMURMUR_MONITOR_SOURCE_DIR}/CMakeLists.txt") + add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/tools/umurmur-monitor") + else() + message(FATAL_ERROR "Could not find umurmur-monitor source. Please specify UMURMUR_MONITOR_SOURCE_DIR") + endif() + endif() +endif() + set(SOURCE "") add_subdirectory(src) @@ -76,8 +92,8 @@ configure_file(src/config.h.in ${CMAKE_SOURCE_DIR}/src/config.h) include_directories(${LIBCONFIG_INCLUDE_DIR} ${PROTOBUFC_INCLUDE_DIR} ${SSLIMP_INCLUDE_DIR}) link_directories(${LIBCONFIG_LIB_DIR} ${PROTOBUFC_LIB_DIR} ${SSLIMP_LIB_DIR}) -add_executable(umurmurd ${SOURCE}) -install(TARGETS umurmurd RUNTIME DESTINATION "bin") +add_executable(${PROJECT_NAME} ${SOURCE}) +install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION "bin") find_path(OLD_CONFIG_FILE NAMES "umurmur.conf" PATHS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES "etc") if(NOT OLD_CONFIG_FILE) @@ -86,4 +102,4 @@ endif(NOT OLD_CONFIG_FILE) add_definitions(${SSLIMP_CFLAGS}) -target_link_libraries(umurmurd ${LIBCONFIG_LIBRARIES} ${PROTOBUFC_LIBRARIES} ${SSLIMP_LIBRARIES} ${LIBRT} ${CRYPTO_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} ${LIBCONFIG_LIBRARIES} ${PROTOBUFC_LIBRARIES} ${SSLIMP_LIBRARIES} ${LIBRT} ${CRYPTO_LIBRARIES}) diff --git a/tools/umurmur-monitor b/tools/umurmur-monitor index faf3d36..66dd2c1 160000 --- a/tools/umurmur-monitor +++ b/tools/umurmur-monitor @@ -1 +1 @@ -Subproject commit faf3d36caacefe2cba90eb4d9c1a880e2d4167d9 +Subproject commit 66dd2c16eaea55dee46301807ee0205dd5f9237c -- 2.30.2