X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=CMakeLists.txt;h=1c2130fd4437ff05a7a29f9e172c6dcce19aff90;hb=97729daab63f49323ca6bee7859260653e5090a1;hp=d96c4e264f61045c7a05389dfb7cf98714041c02;hpb=8e149de110d772f160be4993c11aa781d08d31f6;p=umurmur.git diff --git a/CMakeLists.txt b/CMakeLists.txt index d96c4e2..1c2130f 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) @@ -41,13 +44,17 @@ elseif("${SSL}" STREQUAL "polarssl") set(SSLIMP_LIBRARY_DIR ${POLARSSL_LIB_DIR}) endif(POLARSSL_FOUND) elseif("${SSL}" STREQUAL "gnutls") - find_package(GnuTLS REQUIRED) + find_package(GnuTLS 3 REQUIRED) if(GNUTLS_FOUND) set(USE_GNUTLS ON) set(SSLIMP_LIBRARIES ${GNUTLS_LIBRARIES}) set(SSLIMP_INCLUDE_DIR ${GNUTLS_INCLUDE_DIR}) set(SSLIMP_LIBRARY_DIR ${GNUTLS_LIB_DIR}) endif(GNUTLS_FOUND) + find_package(Nettle REQUIRED) + if(NETTLE_FOUND) + set(CRYPTO_LIBRARIES "${NETTLE_LIBRARIES}") + endif(NETTLE_FOUND) endif("${SSL}" STREQUAL "openssl") check_library_exists(rt clock_gettime "time.h" HAVE_CLOCK_GETTIME_RT) @@ -57,13 +64,26 @@ if(NOT HAVE_CLOCK_GETTIME_RT) if(NOT HAVE_CLOCK_GETTIME) check_library_exists(c clock_get_time "mach/time.h" HAVE_CLOCK_GET_TIME) if(NOT HAVE_CLOCK_GET_TIME) - message(FATAL_ERROR "Didn't find clock_gettime() or clock_get_time!") + message(FATAL_ERROR "Didn't find clock_gettime() or clock_get_time()!") endif() endif() 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) @@ -72,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) @@ -82,9 +102,4 @@ endif(NOT OLD_CONFIG_FILE) add_definitions(${SSLIMP_CFLAGS}) -if(USE_GNUTLS) -# FIXME: port AES128-OCB - target_link_libraries(umurmurd ${LIBCONFIG_LIBRARIES} ${PROTOBUFC_LIBRARIES} ${SSLIMP_LIBRARIES} ${LIBRT} crypto) -else() - target_link_libraries(umurmurd ${LIBCONFIG_LIBRARIES} ${PROTOBUFC_LIBRARIES} ${SSLIMP_LIBRARIES} ${LIBRT}) -endif(USE_GNUTLS) +target_link_libraries(${PROJECT_NAME} ${LIBCONFIG_LIBRARIES} ${PROTOBUFC_LIBRARIES} ${SSLIMP_LIBRARIES} ${LIBRT} ${CRYPTO_LIBRARIES})