Fix build

This commit is contained in:
Dennis Klein 2018-04-15 18:04:52 +02:00
parent 2327fd2115
commit 5e39011a5b
No known key found for this signature in database
GPG Key ID: 08E62D23FA0ECBBC
24 changed files with 590 additions and 97 deletions

View File

@ -17,7 +17,7 @@ set_fairmq_cmake_policies()
get_git_version(OUTVAR_PREFIX FairMQ) get_git_version(OUTVAR_PREFIX FairMQ)
project(FairMQ VERSION ${FairMQ_VERSION} LANGUAGES CXX) project(FairMQ VERSION ${FairMQ_VERSION} LANGUAGES CXX)
message("${BWhite}${PROJECT_NAME}${CR} ${FairMQ_GIT_VERSION} from ${FairMQ_DATE}") message(STATUS "${BWhite}${PROJECT_NAME}${CR} ${FairMQ_GIT_VERSION} from ${FairMQ_DATE}")
set_fairmq_defaults() set_fairmq_defaults()
@ -26,7 +26,9 @@ include(CTest)
# Build options ################################################################ # Build options ################################################################
option(BUILD_OFI_TRANSPORT "Build OFI transport." OFF) option(BUILD_NANOMSG_TRANSPORT "Build nanomsg transport." OFF)
option(BUILD_OFI_TRANSPORT "Build experimental OFI transport." OFF)
option(BUILD_DDS_PLUGIN "Build DDS plugin." OFF)
################################################################################ ################################################################################
@ -34,12 +36,29 @@ option(BUILD_OFI_TRANSPORT "Build OFI transport." OFF)
if(Boost_INCLUDE_DIR) # Silence output, if Boost was found already if(Boost_INCLUDE_DIR) # Silence output, if Boost was found already
set(SILENCE_BOOST QUIET) set(SILENCE_BOOST QUIET)
endif() endif()
find_package(Boost 1.64 ${SILENCE_BOOST} REQUIRED COMPONENTS system) find_package(Boost 1.64 ${SILENCE_BOOST} REQUIRED
COMPONENTS program_options thread system filesystem regex date_time signals
)
set(CMAKE_PREFIX_PATH ${FAIRLOGGER_ROOT} $ENV{FAIRLOGGER_ROOT} ${CMAKE_PREFIX_PATH})
find_package(FairLogger 1.0.1 REQUIRED)
find_package(ZeroMQ 4.2.2 REQUIRED)
if(BUILD_NANOMSG_TRANSPORT)
find_package(nanomsg REQUIRED)
set(CMAKE_PREFIX_PATH ${MSGPACK_ROOT} $ENV{MSGPACK_ROOT} ${CMAKE_PREFIX_PATH})
find_package(msgpack 2.1.5 REQUIRED)
endif()
if(BUILD_OFI_TRANSPORT) if(BUILD_OFI_TRANSPORT)
find_package(OFI 1.6.0 REQUIRED COMPONENTS fi_sockets) find_package(OFI 1.6.0 REQUIRED COMPONENTS fi_sockets)
endif() endif()
if(BUILD_DDS_PLUGIN)
find_package(DDS 2.0 REQUIRED)
endif()
if(BUILD_TESTING) if(BUILD_TESTING)
find_package(GTest REQUIRED) find_package(GTest REQUIRED)
endif() endif()
@ -67,20 +86,32 @@ install_fairmq_cmake_package()
# Summary ###################################################################### # Summary ######################################################################
message(" ") message(STATUS " ")
message(" ${Cyan}COMPONENT BUILT? INFO${CR}") message(STATUS " ${Cyan}COMPONENT BUILT? INFO${CR}")
message(" ${BWhite}library${CR} ${BGreen}YES${CR} (default, always built)") message(STATUS " ${BWhite}library${CR} ${BGreen}YES${CR} (default, always built)")
if(BUILD_OFI_TRANSPORT) if(BUILD_TESTING)
set(tests_summary "${BGreen}YES${CR} (default, disable with ${BMagenta}-DBUILD_TESTING=OFF${CR})") set(tests_summary "${BGreen}YES${CR} (default, disable with ${BMagenta}-DBUILD_TESTING=OFF${CR})")
else() else()
set(tests_summary "${BRed} NO${CR} (enable with ${BMagenta}-DBUILD_TESTING=ON${CR})") set(tests_summary "${BRed} NO${CR} (enable with ${BMagenta}-DBUILD_TESTING=ON${CR})")
endif() endif()
message(" ${BWhite}tests${CR} ${tests_summary}") message(STATUS " ${BWhite}tests${CR} ${tests_summary}")
if(BUILD_OFI_TRANSPORT) if(BUILD_OFI_TRANSPORT)
set(ofi_summary "${BGreen}YES${CR} (disable with ${BMagenta}-DBUILD_OFI_TRANSPORT=OFF${CR})") set(ofi_summary "${BGreen}YES${CR} (disable with ${BMagenta}-DBUILD_OFI_TRANSPORT=OFF${CR})")
else() else()
set(ofi_summary "${BRed} NO${CR} (default, enable with ${BMagenta}-DBUILD_OFI_TRANSPORT=ON${CR})") set(ofi_summary "${BRed} NO${CR} (default, enable with ${BMagenta}-DBUILD_OFI_TRANSPORT=ON${CR})")
endif() endif()
message(" ${BWhite}OFI transport${CR} ${ofi_summary}") message(STATUS " ${BWhite}OFI transport${CR} ${ofi_summary} Experimental")
message(" ") if(BUILD_NANOMSG_TRANSPORT)
set(nn_summary "${BGreen}YES${CR} (disable with ${BMagenta}-DBUILD_NANOMSG_TRANSPORT=OFF${CR})")
else()
set(nn_summary "${BRed} NO${CR} (default, enable with ${BMagenta}-DBUILD_NANOMSG_TRANSPORT=ON${CR})")
endif()
message(STATUS " ${BWhite}nanomsg transport${CR} ${nn_summary}")
if(BUILD_DDS_PLUGIN)
set(dds_summary "${BGreen}YES${CR} (disable with ${BMagenta}-DBUILD_DDS_PLUGIN=OFF${CR})")
else()
set(dds_summary "${BRed} NO${CR} (default, enable with ${BMagenta}-DBUILD_DDS_PLUGIN=ON${CR})")
endif()
message(STATUS " ${BWhite}DDS plugin${CR} ${dds_summary}")
message(STATUS " ")
################################################################################ ################################################################################

View File

@ -4,7 +4,19 @@ C++ Message Queuing Library
## Dependencies ## Dependencies
TODO * CMake
* GTest
* Boost
* FairLogger
* dl
* pthread
* rt (Linux)
* ZeroMQ
* Msgpack (optional, nanomsg transport)
* nanomsg (optional, nanomsg transport)
* libfabric (optional, OFI transport)
* Protobuf (optional, OFI transport)
* DDS (optional, DDS plugin)
## Installation ## Installation
@ -47,21 +59,26 @@ The above is useful, if you need to customize the `find_package` calls of FairMQ
## CMake options ## CMake options
TODO complete list
On command line: On command line:
* `-DDISABLE_COLOR=ON` disables coloured console output. * `-DDISABLE_COLOR=ON` disables coloured console output.
* `-DBUILD_TESTING=OFF` disables building of tests.
* `-DBUILD_NANOMSG_TRANSPORT=ON` enables building of nanomsg transport.
* `-DBUILD_OFI_TRANSPORT=ON` enables building of the experimental OFI transport. * `-DBUILD_OFI_TRANSPORT=ON` enables building of the experimental OFI transport.
* `-DBUILD_DDS_PLUGIN=ON` enables building of the DDS plugin.
In front of the `find_package(FairMQ)` call: In front of the `find_package(FairMQ)` call:
* `set(BUILD_NANOMSG_TRANSPORT ON)` enables building of nanomsg transport.
* `set(BUILD_OFI_TRANSPORT ON)` enables building of the experimental OFI transport. * `set(BUILD_OFI_TRANSPORT ON)` enables building of the experimental OFI transport.
* `set(BUILD_DDS_PLUGIN ON)` enables building of the DDS plugin.
* `set(FairMQ_PACKAGE_DEPENDENCIES_DISABLED ON)` disables implicit discovery of all transitive package dependencies. * `set(FairMQ_PACKAGE_DEPENDENCIES_DISABLED ON)` disables implicit discovery of all transitive package dependencies.
* ... TODO
After the `find_package(FairMQ)` the following CMake variables are defined: After the `find_package(FairMQ)` the following CMake variables are defined:
* `${FairMQ_BOOST_COMPONENTS}` contains the list of Boost components FairMQ depends on. * `${FairMQ_BOOST_COMPONENTS}` contains the list of Boost components FairMQ depends on.
* ... TODO
## Documentation ## Documentation

74
cmake/FindDDS.cmake Normal file
View File

@ -0,0 +1,74 @@
################################################################################
# Copyright (C) 2014-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH #
# #
# This software is distributed under the terms of the #
# GNU Lesser General Public Licence (LGPL) version 3, #
# copied verbatim in the file "LICENSE" #
################################################################################
find_path(DDS_INCLUDE_DIR
NAMES dds_intercom.h
HINTS ${DDS_ROOT} $ENV{DDS_ROOT}
PATH_SUFFIXES include
)
find_path(DDS_LIBRARY_DIR
NAMES libdds_intercom_lib.dylib libdds_intercom_lib.so
HINTS ${DDS_ROOT} $ENV{DDS_ROOT}
PATH_SUFFIXES lib
)
find_library(DDS_INTERCOM_LIBRARY_SHARED
NAMES libdds_intercom_lib.dylib libdds_intercom_lib.so
HINTS ${DDS_ROOT} $ENV{DDS_ROOT}
PATH_SUFFIXES lib
DOC "Path to libdds_intercom_lib.dylib libdds_intercom_lib.so."
)
find_library(DDS_PROTOCOL_LIBRARY_SHARED
NAMES libdds_protocol_lib.dylib libdds_protocol_lib.so
HINTS ${DDS_ROOT} $ENV{DDS_ROOT}
PATH_SUFFIXES lib
DOC "Path to libdds_protocol_lib.dylib libdds_protocol_lib.so."
)
find_library(DDS_USER_DEFAULTS_LIBRARY_SHARED
NAMES libdds-user-defaults.dylib libdds-user-defaults.so
HINTS ${DDS_ROOT} $ENV{DDS_ROOT}
PATH_SUFFIXES lib
DOC "Path to libdds-user-defaults.dylib libdds-user-defaults.so."
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(DDS
REQUIRED_VARS
DDS_INCLUDE_DIR
DDS_LIBRARY_DIR
DDS_INTERCOM_LIBRARY_SHARED
DDS_PROTOCOL_LIBRARY_SHARED
DDS_USER_DEFAULTS_LIBRARY_SHARED
)
if(NOT TARGET DDS::dds_intercom_lib AND DDS_FOUND)
add_library(DDS::dds_intercom_lib SHARED IMPORTED)
set_target_properties(DDS::dds_intercom_lib PROPERTIES
IMPORTED_LOCATION ${DDS_INTERCOM_LIBRARY_SHARED}
INTERFACE_INCLUDE_DIRECTORIES ${DDS_INCLUDE_DIR}
)
endif()
if(NOT TARGET DDS::dds_protocol_lib AND DDS_FOUND)
add_library(DDS::dds_protocol_lib SHARED IMPORTED)
set_target_properties(DDS::dds_protocol_lib PROPERTIES
IMPORTED_LOCATION ${DDS_PROTOCOL_LIBRARY_SHARED}
INTERFACE_INCLUDE_DIRECTORIES ${DDS_INCLUDE_DIR}
)
endif()
if(NOT TARGET DDS::dds-user-defaults AND DDS_FOUND)
add_library(DDS::dds-user-defaults SHARED IMPORTED)
set_target_properties(DDS::dds-user-defaults PROPERTIES
IMPORTED_LOCATION ${DDS_USER_DEFAULTS_LIBRARY_SHARED}
INTERFACE_INCLUDE_DIRECTORIES ${DDS_INCLUDE_DIR}
)
endif()

View File

@ -0,0 +1,67 @@
################################################################################
# Copyright (C) 2014-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH #
# #
# This software is distributed under the terms of the #
# GNU Lesser General Public Licence (LGPL) version 3, #
# copied verbatim in the file "LICENSE" #
################################################################################
find_path(FLATBUFFERS_INCLUDE_DIR
NAMES flatbuffers/flatbuffers.h
HINTS ${FLATBUFFERS_ROOT} $ENV{FLATBUFFERS_ROOT}
PATH_SUFFIXES include
)
find_path(FLATBUFFERS_LIBRARY_DIR
NAMES libflatbuffers.a
HINTS ${FLATBUFFERS_ROOT} $ENV{FLATBUFFERS_ROOT}
PATH_SUFFIXES lib
)
find_library(FLATBUFFERS_STATIC_LIBRARY
NAMES libflatbuffers.a
HINTS ${FLATBUFFERS_ROOT} $ENV{FLATBUFFERS_ROOT}
PATH_SUFFIXES lib
)
find_path(FLATBUFFERS_BINARY_DIR
NAMES flatc
HINTS ${FLATBUFFERS_ROOT} $ENV{FLATBUFFERS_ROOT}
PATH_SUFFIXES bin
)
find_program(FLATBUFFERS_BINARY_FLATC
NAMES flatc
HINTS ${FLATBUFFERS_ROOT} $ENV{FLATBUFFERS_ROOT}
PATH_SUFFIXES bin
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FlatBuffers
REQUIRED_VARS
FLATBUFFERS_INCLUDE_DIR
FLATBUFFERS_LIBRARY_DIR
FLATBUFFERS_BINARY_DIR
)
# idempotently import targets
if(NOT TARGET FlatBuffers)
if(FLATBUFFERS_FOUND)
# import target
add_library(FlatBuffers STATIC IMPORTED)
set_target_properties(FlatBuffers PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES ${FLATBUFFERS_INCLUDE_DIR}
IMPORTED_LOCATION ${FLATBUFFERS_STATIC_LIBRARY}
)
endif()
endif()
if(NOT TARGET FlatBuffers::flatc)
if(FLATBUFFERS_FOUND)
# import target
add_executable(FlatBuffers::flatc IMPORTED)
set_target_properties(FlatBuffers::flatc PROPERTIES
IMPORTED_LOCATION ${FLATBUFFERS_BINARY_FLATC}
)
endif()
endif()

39
cmake/FindMsgpack.cmake Normal file
View File

@ -0,0 +1,39 @@
################################################################################
# Copyright (C) 2014-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH #
# #
# This software is distributed under the terms of the #
# GNU Lesser General Public Licence (LGPL) version 3, #
# copied verbatim in the file "LICENSE" #
################################################################################
find_path(MSGPACK_INCLUDE_DIR
NAMES msgpack.hpp
HINTS ${MSGPACK_ROOT} $ENV{MSGPACK_ROOT}
PATH_SUFFIXES include
)
find_path(MSGPACK_LIBRARY_DIR
NAMES libmsgpackc.dylib libmsgpackc.so
HINTS ${MSGPACK_ROOT} $ENV{MSGPACK_ROOT}
PATH_SUFFIXES lib
)
find_library(MSGPACK_LIBRARY_SHARED
NAMES libmsgpackc.dylib libmsgpackc.so
HINTS ${MSGPACK_ROOT} $ENV{MSGPACK_ROOT}
PATH_SUFFIXES lib
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Msgpack
REQUIRED_VARS MSGPACK_INCLUDE_DIR MSGPACK_LIBRARY_DIR MSGPACK_LIBRARY_SHARED
)
# idempotently import targets
if(NOT TARGET Msgpack AND Msgpack_FOUND)
add_library(Msgpack SHARED IMPORTED)
set_target_properties(Msgpack PROPERTIES
IMPORTED_LOCATION ${MSGPACK_LIBRARY_SHARED}
INTERFACE_INCLUDE_DIRECTORIES ${MSGPACK_INCLUDE_DIR}
)
endif()

View File

@ -79,7 +79,7 @@ if(PKG_CONFIG_FOUND)
) )
endif() endif()
if(OFI_FOUND) if(NOT TARGET OFI::libfabric AND OFI_FOUND)
# Define an imported target # Define an imported target
add_library(OFI::libfabric SHARED IMPORTED GLOBAL) add_library(OFI::libfabric SHARED IMPORTED GLOBAL)
set_target_properties(OFI::libfabric PROPERTIES set_target_properties(OFI::libfabric PROPERTIES

112
cmake/FindZeroMQ.cmake Normal file
View File

@ -0,0 +1,112 @@
################################################################################
# Copyright (C) 2012-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH #
# #
# This software is distributed under the terms of the #
# GNU Lesser General Public Licence (LGPL) version 3, #
# copied verbatim in the file "LICENSE" #
################################################################################
#
# Authors:
#
# Mohammad Al-Turany
# Dario Berzano
# Dennis Klein
# Matthias Richter
# Alexey Rybalchenko
# Florian Uhlig
#
#
# #############################
# # Locate the ZeroMQ library #
# #############################
#
#
# Usage:
#
# find_package(ZeroMQ [version] [QUIET] [REQUIRED])
#
#
# Defines the following variables:
#
# ZeroMQ_FOUND - Found the ZeroMQ library
# ZeroMQ_INCLUDE_DIR (CMake cache) - Include directory
# ZeroMQ_LIBRARY_SHARED (CMake cache) - Path to shared libzmq
# ZeroMQ_LIBRARY_STATIC (CMake cache) - Path to static libzmq
# ZeroMQ_VERSION - full version string
# ZeroMQ_VERSION_MAJOR - major version component
# ZeroMQ_VERSION_MINOR - minor version component
# ZeroMQ_VERSION_PATCH - patch version component
#
#
# Accepts the following variables as hints for installation directories:
#
# ZEROMQ_ROOT (CMake var, ENV var)
#
#
# If the above variables are not defined, or if ZeroMQ could not be found there,
# it will look for it in the system directories. Custom ZeroMQ installations
# will always have priority over system ones.
#
if(NOT ZEROMQ_ROOT)
set(ZEROMQ_ROOT $ENV{ZEROMQ_ROOT})
endif()
find_path(ZeroMQ_INCLUDE_DIR
NAMES zmq.h zmq_utils.h
HINTS ${ZEROMQ_ROOT} $ENV{ZEROMQ_ROOT}
PATH_SUFFIXES include
DOC "ZeroMQ include directories"
)
find_library(ZeroMQ_LIBRARY_SHARED
NAMES libzmq.dylib libzmq.so
HINTS ${ZEROMQ_ROOT} $ENV{ZEROMQ_ROOT}
PATH_SUFFIXES lib
DOC "Path to libzmq.dylib or libzmq.so"
)
find_library(ZeroMQ_LIBRARY_STATIC NAMES libzmq.a
HINTS ${ZEROMQ_ROOT} $ENV{ZEROMQ_ROOT}
PATH_SUFFIXES lib
DOC "Path to libzmq.a"
)
find_file(ZeroMQ_HEADER_FILE "zmq.h"
${ZeroMQ_INCLUDE_DIR}
NO_DEFAULT_PATH
)
if(DEFINED ZeroMQ_HEADER_FILE)
file(READ "${ZeroMQ_HEADER_FILE}" _ZeroMQ_HEADER_FILE_CONTENT)
string(REGEX MATCH "#define ZMQ_VERSION_MAJOR ([0-9])" _MATCH "${_ZeroMQ_HEADER_FILE_CONTENT}")
set(ZeroMQ_VERSION_MAJOR ${CMAKE_MATCH_1})
string(REGEX MATCH "#define ZMQ_VERSION_MINOR ([0-9])" _MATCH "${_ZeroMQ_HEADER_FILE_CONTENT}")
set(ZeroMQ_VERSION_MINOR ${CMAKE_MATCH_1})
string(REGEX MATCH "#define ZMQ_VERSION_PATCH ([0-9])" _MATCH "${_ZeroMQ_HEADER_FILE_CONTENT}")
set(ZeroMQ_VERSION_PATCH ${CMAKE_MATCH_1})
set(ZeroMQ_VERSION "${ZeroMQ_VERSION_MAJOR}.${ZeroMQ_VERSION_MINOR}.${ZeroMQ_VERSION_PATCH}")
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ZeroMQ
REQUIRED_VARS ZeroMQ_LIBRARY_SHARED ZeroMQ_INCLUDE_DIR ZeroMQ_LIBRARY_STATIC
VERSION_VAR ZeroMQ_VERSION
)
if(ZeroMQ_FOUND AND NOT TARGET ZeroMQ)
add_library(ZeroMQ SHARED IMPORTED)
set_target_properties(ZeroMQ PROPERTIES
IMPORTED_LOCATION ${ZeroMQ_LIBRARY_SHARED}
INTERFACE_INCLUDE_DIRECTORIES ${ZeroMQ_INCLUDE_DIR}
)
endif()
mark_as_advanced(
ZeroMQ_LIBRARIES
ZeroMQ_LIBRARY_SHARED
ZeroMQ_LIBRARY_STATIC
ZeroMQ_HEADER_FILE
ZeroMQ_VERSION_MAJOR
ZeroMQ_VERSION_MINOR
ZeroMQ_VERSION_PATCH
)

34
cmake/Findnanomsg.cmake Normal file
View File

@ -0,0 +1,34 @@
################################################################################
# Copyright (C) 2014-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH #
# #
# This software is distributed under the terms of the #
# GNU Lesser General Public Licence (LGPL) version 3, #
# copied verbatim in the file "LICENSE" #
################################################################################
find_path(NANOMSG_INCLUDE_DIR
NAMES nanomsg/nn.h
HINTS ${NANOMSG_ROOT} $ENV{NANOMSG_ROOT}
PATH_SUFFIXES include
DOC "Path to nanomsg include header files."
)
find_library(NANOMSG_LIBRARY_SHARED
NAMES libnanomsg.dylib libnanomsg.so
HINTS ${NANOMSG_ROOT} $ENV{NANOMSG_ROOT}
PATH_SUFFIXES lib
DOC "Path to libnanomsg.dylib libnanomsg.so."
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(nanomsg
REQUIRED_VARS NANOMSG_LIBRARY_SHARED NANOMSG_INCLUDE_DIR
)
if(NOT TARGET nanomsg AND nanomsg_FOUND)
add_library(nanomsg SHARED IMPORTED)
set_target_properties(nanomsg PROPERTIES
IMPORTED_LOCATION ${NANOMSG_LIBRARY_SHARED}
INTERFACE_INCLUDE_DIRECTORIES ${NANOMSG_INCLUDE_DIR}
)
endif()

139
cmake/GTestHelper.cmake Normal file
View File

@ -0,0 +1,139 @@
################################################################################
# Copyright (C) 2017-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH #
# #
# This software is distributed under the terms of the #
# GNU Lesser General Public Licence (LGPL) version 3, #
# copied verbatim in the file "LICENSE" #
################################################################################
# ##########################
# # GTest helper functions #
# ##########################
#
# The helper functions allow concise cmake files for GTest based test submodules.
# Testsuites register themselves automatically as CTest test.
#
#
# Usage:
#
# add_testsuite(<name> SOURCES source1 [source2 ...]
# [DEPENDS dep1 [dep2 ...]]
# [LINKS linklib1 [linklib2 ...]
# [INCLUDES dir1 [dir2 ...]
# [TIMEOUT seconds]
# [RUN_SERIAL ON/OFF])
#
# -> created target: testsuite_<name>
#
# add_testhelper(<name> SOURCES source1 [source2 ...]
# [DEPENDS dep1 [dep2 ...]]
# [LINKS linklib1 [linklib2 ...]
# [INCLUDES dir1 [dir2 ...])
#
# -> created target: testhelper_<name>
#
# add_testlib(<name> SOURCES source1 [source2 ...]
# [DEPENDS dep1 [dep2 ...]]
# [LINKS linklib1 [linklib2 ...]
# [INCLUDES dir1 [dir2 ...])
#
# -> created target: <name>
#
# The above add_* functions add all created targets to the cmake
# variable ALL_TEST_TARGETS which can be used to create an aggregate
# target, e.g.:
#
# add_custom_target(AllTests DEPENDS ${ALL_TEST_TARGETS})
#
#
function(add_testsuite suitename)
cmake_parse_arguments(testsuite
""
"TIMEOUT;RUN_SERIAL"
"SOURCES;LINKS;DEPENDS;INCLUDES"
${ARGN}
)
list(INSERT testsuite_LINKS 0 GTest::Main GTest::GTest)
set(target "testsuite_${suitename}")
add_executable(${target} ${testsuite_SOURCES})
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
set_target_properties("${target}" PROPERTIES LINK_FLAGS "-Wl,--no-as-needed")
endif()
target_link_libraries(${target} ${testsuite_LINKS})
if(testsuite_DEPENDS)
add_dependencies(${target} ${testsuite_DEPENDS})
endif()
if(testsuite_INCLUDES)
target_include_directories(${target} PUBLIC ${testsuite_INCLUDES})
endif()
add_test(NAME "${suitename}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND ${target})
if(testsuite_TIMEOUT)
set_tests_properties("${suitename}" PROPERTIES TIMEOUT ${testsuite_TIMEOUT})
endif()
if(testsuite_RUN_SERIAL)
set_tests_properties("${suitename}" PROPERTIES RUN_SERIAL ${testsuite_RUN_SERIAL})
endif()
list(APPEND ALL_TEST_TARGETS ${target})
set(ALL_TEST_TARGETS ${ALL_TEST_TARGETS} PARENT_SCOPE)
endfunction()
function(add_testhelper helpername)
cmake_parse_arguments(testhelper
""
""
"SOURCES;LINKS;DEPENDS;INCLUDES"
${ARGN}
)
set(target "testhelper_${helpername}")
add_executable(${target} ${testhelper_SOURCES})
if(testhelper_LINKS)
target_link_libraries(${target} ${testhelper_LINKS})
endif()
if(testhelper_DEPENDS)
add_dependencies(${target} ${testhelper_DEPENDS})
endif()
if(testhelper_INCLUDES)
target_include_directories(${target} PUBLIC ${testhelper_INCLUDES})
endif()
list(APPEND ALL_TEST_TARGETS ${target})
set(ALL_TEST_TARGETS ${ALL_TEST_TARGETS} PARENT_SCOPE)
endfunction()
function(add_testlib libname)
cmake_parse_arguments(testlib
"HIDDEN"
"VERSION"
"SOURCES;LINKS;DEPENDS;INCLUDES"
${ARGN}
)
set(target "${libname}")
add_library(${target} SHARED ${testlib_SOURCES})
if(testlib_LINKS)
target_link_libraries(${target} ${testlib_LINKS})
endif()
if(testlib_DEPENDS)
add_dependencies(${target} ${testlib_DEPENDS})
endif()
if(testlib_INCLUDES)
target_include_directories(${target} PUBLIC ${testlib_INCLUDES})
endif()
if(testlib_HIDDEN)
set_target_properties(${target} PROPERTIES CXX_VISIBILITY_PRESET hidden)
endif()
if(testlib_VERSION)
set_target_properties(${target} PROPERTIES VERSION ${testlib_VERSION})
endif()
list(APPEND ALL_TEST_TARGETS ${target})
set(ALL_TEST_TARGETS ${ALL_TEST_TARGETS} PARENT_SCOPE)
endfunction()

View File

@ -1,5 +1,5 @@
################################################################################ ################################################################################
# Copyright (C) 2012-2017 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # # Copyright (C) 2012-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH #
# # # #
# This software is distributed under the terms of the # # This software is distributed under the terms of the #
# GNU Lesser General Public Licence (LGPL) version 3, # # GNU Lesser General Public Licence (LGPL) version 3, #
@ -9,7 +9,7 @@
#################### ####################
# external plugins # # external plugins #
#################### ####################
if (DDS_FOUND) if(BUILD_DDS_PLUGIN)
add_subdirectory(plugins/DDS) add_subdirectory(plugins/DDS)
endif() endif()
@ -17,11 +17,8 @@ endif()
############################ ############################
# preprocessor definitions # # preprocessor definitions #
############################ ############################
if(NANOMSG_FOUND) if(BUILD_NANOMSG_TRANSPORT)
add_definitions(-DNANOMSG_FOUND) add_definitions(-DBUILD_NANOMSG_TRANSPORT)
if(MSGPACK_FOUND)
add_definitions(-DMSGPACK_FOUND)
endif()
endif() endif()
if(BUILD_OFI_TRANSPORT) if(BUILD_OFI_TRANSPORT)
add_definitions(-DBUILD_OFI_TRANSPORT) add_definitions(-DBUILD_OFI_TRANSPORT)
@ -31,7 +28,8 @@ endif()
################## ##################
# subdirectories # # subdirectories #
################## ##################
add_subdirectory(shmem/prototype) # add_subdirectory(shmem/prototype)
########################## ##########################
# libFairMQ header files # # libFairMQ header files #
@ -94,7 +92,7 @@ set(FAIRMQ_HEADER_FILES
zeromq/FairMQTransportFactoryZMQ.h zeromq/FairMQTransportFactoryZMQ.h
) )
if(NANOMSG_FOUND) if(BUILD_NANOMSG_TRANSPORT)
set(FAIRMQ_HEADER_FILES ${FAIRMQ_HEADER_FILES} set(FAIRMQ_HEADER_FILES ${FAIRMQ_HEADER_FILES}
nanomsg/FairMQMessageNN.h nanomsg/FairMQMessageNN.h
nanomsg/FairMQPollerNN.h nanomsg/FairMQPollerNN.h
@ -157,7 +155,7 @@ set(FAIRMQ_SOURCE_FILES
zeromq/FairMQTransportFactoryZMQ.cxx zeromq/FairMQTransportFactoryZMQ.cxx
) )
if(NANOMSG_FOUND) if(BUILD_NANOMSG_TRANSPORT)
set(FAIRMQ_SOURCE_FILES ${FAIRMQ_SOURCE_FILES} set(FAIRMQ_SOURCE_FILES ${FAIRMQ_SOURCE_FILES}
nanomsg/FairMQMessageNN.cxx nanomsg/FairMQMessageNN.cxx
nanomsg/FairMQPollerNN.cxx nanomsg/FairMQPollerNN.cxx
@ -237,6 +235,9 @@ target_include_directories(FairMQ
################## ##################
# link libraries # # link libraries #
################## ##################
if(BUILD_NANOMSG_TRANSPORT)
set(NANOMSG_DEPS nanomsg msgpackc)
endif()
if(BUILD_OFI_TRANSPORT) if(BUILD_OFI_TRANSPORT)
set(OFI_DEPS OFI::libfabric protobuf::libprotobuf) set(OFI_DEPS OFI::libfabric protobuf::libprotobuf)
endif() endif()
@ -254,13 +255,12 @@ target_link_libraries(FairMQ
Boost::regex Boost::regex
Boost::date_time Boost::date_time
Boost::signals Boost::signals
Logger FairLogger::FairLogger
$<$<PLATFORM_ID:Linux>:rt> $<$<PLATFORM_ID:Linux>:rt>
PRIVATE # only libFairMQ links against private dependencies PRIVATE # only libFairMQ links against private dependencies
ZeroMQ ZeroMQ
$<$<BOOL:${NANOMSG_FOUND}>:nanomsg> ${NANOMSG_DEPS}
$<$<AND:$<BOOL:${NANOMSG_FOUND}>,$<BOOL:${MSGPACK_FOUND}>>:Msgpack>
${OFI_DEPS} ${OFI_DEPS}
) )
@ -310,15 +310,9 @@ install(
splitter splitter
shmmonitor shmmonitor
EXPORT FairMQ EXPORT ${FairMQ_EXPORT_SET}
LIBRARY DESTINATION ${FairMQ_INSTALL_LIBDIR}
LIBRARY RUNTIME DESTINATION ${FairMQ_INSTALL_BINDIR}
DESTINATION lib
COMPONENT fairmq
RUNTIME
DESTINATION bin
COMPONENT fairmq
) )
# preserve relative path and prepend fairmq # preserve relative path and prepend fairmq
@ -327,6 +321,5 @@ foreach(HEADER ${FAIRMQ_HEADER_FILES})
file(TO_CMAKE_PATH include/fairmq/${_path} _destination) file(TO_CMAKE_PATH include/fairmq/${_path} _destination)
install(FILES ${HEADER} install(FILES ${HEADER}
DESTINATION ${_destination} DESTINATION ${_destination}
COMPONENT fairmq
) )
endforeach() endforeach()

View File

@ -1,20 +1,14 @@
/******************************************************************************** /********************************************************************************
* Copyright (C) 2017 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH * * Copyright (C) 2017-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
* * * *
* This software is distributed under the terms of the * * This software is distributed under the terms of the *
* GNU Lesser General Public Licence (LGPL) version 3, * * GNU Lesser General Public Licence (LGPL) version 3, *
* copied verbatim in the file "LICENSE" * * copied verbatim in the file "LICENSE" *
********************************************************************************/ ********************************************************************************/
/**
* FairMQLogger.h
*
* @since 2012-12-04
* @author D. Klein, A. Rybalchenko
*/
#ifndef FAIRMQLOGGER_H_ #ifndef FAIRMQLOGGER_H_
#define FAIRMQLOGGER_H_ #define FAIRMQLOGGER_H_
#include <Logger.h> #include <fairlogger/Logger.h>
#endif /* FAIRMQLOGGER_H_ */ #endif /* FAIRMQLOGGER_H_ */

View File

@ -9,9 +9,9 @@
#include <FairMQTransportFactory.h> #include <FairMQTransportFactory.h>
#include <zeromq/FairMQTransportFactoryZMQ.h> #include <zeromq/FairMQTransportFactoryZMQ.h>
#include <shmem/FairMQTransportFactorySHM.h> #include <shmem/FairMQTransportFactorySHM.h>
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
#include <nanomsg/FairMQTransportFactoryNN.h> #include <nanomsg/FairMQTransportFactoryNN.h>
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
#ifdef BUILD_OFI_TRANSPORT #ifdef BUILD_OFI_TRANSPORT
#include <fairmq/ofi/TransportFactory.h> #include <fairmq/ofi/TransportFactory.h>
#endif #endif
@ -47,12 +47,12 @@ auto FairMQTransportFactory::CreateTransportFactory(const std::string& type, con
{ {
return make_shared<FairMQTransportFactorySHM>(finalId, config); return make_shared<FairMQTransportFactorySHM>(finalId, config);
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
else if (type == "nanomsg") else if (type == "nanomsg")
{ {
return make_shared<FairMQTransportFactoryNN>(finalId, config); return make_shared<FairMQTransportFactoryNN>(finalId, config);
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
#ifdef BUILD_OFI_TRANSPORT #ifdef BUILD_OFI_TRANSPORT
else if (type == "ofi") else if (type == "ofi")
{ {
@ -64,9 +64,9 @@ auto FairMQTransportFactory::CreateTransportFactory(const std::string& type, con
LOG(error) << "Unavailable transport requested: " << "\"" << type << "\"" << ". Available are: " LOG(error) << "Unavailable transport requested: " << "\"" << type << "\"" << ". Available are: "
<< "\"zeromq\"" << "\"zeromq\""
<< "\"shmem\"" << "\"shmem\""
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
<< ", \"nanomsg\"" << ", \"nanomsg\""
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
#ifdef BUILD_OFI_TRANSPORT #ifdef BUILD_OFI_TRANSPORT
<< ", and \"ofi\"" << ", and \"ofi\""
#endif /* BUILD_OFI_TRANSPORT */ #endif /* BUILD_OFI_TRANSPORT */

View File

@ -10,7 +10,6 @@
#define FAIRMQ_VERSION "@PROJECT_VERSION@" #define FAIRMQ_VERSION "@PROJECT_VERSION@"
#define FAIRMQ_VERSION_DEC (@PROJECT_VERSION_MAJOR@ * 10000) + (@PROJECT_VERSION_MINOR@ * 100) + @PROJECT_VERSION_PATCH@ #define FAIRMQ_VERSION_DEC (@PROJECT_VERSION_MAJOR@ * 10000) + (@PROJECT_VERSION_MINOR@ * 100) + @PROJECT_VERSION_PATCH@
#define FAIRMQ_VERSION_HEX (@PROJECT_VERSION_MAJOR@ << 16) + (@PROJECT_VERSION_MINOR@ << 8) + @PROJECT_VERSION_PATCH@
#define FAIRMQ_VERSION_MAJOR @PROJECT_VERSION_MAJOR@ #define FAIRMQ_VERSION_MAJOR @PROJECT_VERSION_MAJOR@
#define FAIRMQ_VERSION_MINOR @PROJECT_VERSION_MINOR@ #define FAIRMQ_VERSION_MINOR @PROJECT_VERSION_MINOR@
#define FAIRMQ_VERSION_PATCH @PROJECT_VERSION_PATCH@ #define FAIRMQ_VERSION_PATCH @PROJECT_VERSION_PATCH@

View File

@ -7,24 +7,18 @@
################################################################################ ################################################################################
set(plugin FairMQPlugin_dds) set(plugin FairMQPlugin_dds)
add_library(${plugin} SHARED ${CMAKE_CURRENT_SOURCE_DIR}/DDS.cxx ${CMAKE_CURRENT_SOURCE_DIR}/DDS.h) add_library(${plugin} SHARED ${CMAKE_CURRENT_SOURCE_DIR}/DDS.cxx ${CMAKE_CURRENT_SOURCE_DIR}/DDS.h)
target_link_libraries(${plugin} FairMQ ${DDS_INTERCOM_LIBRARY_SHARED} ${DDS_PROTOCOL_LIBRARY_SHARED} ${DDS_USER_DEFAULTS_LIBRARY_SHARED}) target_link_libraries(${plugin} FairMQ DDS::dds_intercom_lib DDS::dds_protocol_lib DDS::dds-user-defaults)
target_include_directories(${plugin} PRIVATE ${CMAKE_CURRENT_BINARY_DIR} PUBLIC ${DDS_INCLUDE_DIR}) target_include_directories(${plugin} PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
set_target_properties(${plugin} PROPERTIES CXX_VISIBILITY_PRESET hidden) set_target_properties(${plugin} PROPERTIES CXX_VISIBILITY_PRESET hidden)
add_executable(fairmq-dds-command-ui ${CMAKE_CURRENT_SOURCE_DIR}/runDDSCommandUI.cxx) set(exe fairmq-dds-command-ui)
target_link_libraries(fairmq-dds-command-ui FairMQ ${DDS_INTERCOM_LIBRARY_SHARED} ${DDS_PROTOCOL_LIBRARY_SHARED} ${DDS_USER_DEFAULTS_LIBRARY_SHARED}) add_executable(${exe} ${CMAKE_CURRENT_SOURCE_DIR}/runDDSCommandUI.cxx)
target_include_directories(fairmq-dds-command-ui PRIVATE ${CMAKE_CURRENT_BINARY_DIR} PUBLIC ${DDS_INCLUDE_DIR}) target_link_libraries(${exe} FairMQ DDS::dds_intercom_lib DDS::dds_protocol_lib DDS::dds-user-defaults)
target_include_directories(${exe} PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
install(TARGETS ${plugin} fairmq-dds-command-ui install(TARGETS ${plugin} ${exe}
EXPORT FairMQ EXPORT ${FairMQ_EXPORT_SET}
LIBRARY DESTINATION ${FairMQ_INSTALL_LIBDIR}
LIBRARY RUNTIME DESTINATION ${FairMQ_INSTALL_BINDIR}
DESTINATION lib
COMPONENT fairmq
RUNTIME
DESTINATION bin
COMPONENT fairmq
) )

View File

@ -31,8 +31,8 @@ add_testhelper(runTestDevice
) )
set(MQ_CONFIG "${CMAKE_BINARY_DIR}/bin/testsuite_FairMQ.IOPatterns_config.json") set(MQ_CONFIG "${CMAKE_BINARY_DIR}/test/testsuite_FairMQ.IOPatterns_config.json")
set(RUN_TEST_DEVICE "${CMAKE_BINARY_DIR}/bin/testhelper_runTestDevice") set(RUN_TEST_DEVICE "${CMAKE_BINARY_DIR}/test/testhelper_runTestDevice")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/protocols/config.json.in ${MQ_CONFIG}) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/protocols/config.json.in ${MQ_CONFIG})
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/protocols/runner.cxx.in ${CMAKE_CURRENT_BINARY_DIR}/protocols/runner.cxx) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/protocols/runner.cxx.in ${CMAKE_CURRENT_BINARY_DIR}/protocols/runner.cxx)

View File

@ -63,11 +63,11 @@ TEST(MessageResize, shmem)
RunPushPullWithMsgResize("shmem", "ipc://test_message_resize"); RunPushPullWithMsgResize("shmem", "ipc://test_message_resize");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(MessageResize, nanomsg) TEST(MessageResize, nanomsg)
{ {
RunPushPullWithMsgResize("nanomsg", "ipc://test_message_resize"); RunPushPullWithMsgResize("nanomsg", "ipc://test_message_resize");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
} // namespace } // namespace

View File

@ -44,7 +44,7 @@ TEST(PluginManager, LoadPluginDynamic)
auto device = make_shared<FairMQDevice>(); auto device = make_shared<FairMQDevice>();
mgr.EmplacePluginServices(&config, device); mgr.EmplacePluginServices(&config, device);
mgr.PrependSearchPath("./lib"); mgr.PrependSearchPath("./test");
ASSERT_NO_THROW(mgr.LoadPlugin("test_dummy")); ASSERT_NO_THROW(mgr.LoadPlugin("test_dummy"));
ASSERT_NO_THROW(mgr.LoadPlugin("test_dummy2")); ASSERT_NO_THROW(mgr.LoadPlugin("test_dummy2"));

View File

@ -56,12 +56,12 @@ TEST(Pair, MP_ShMem___tcp____SingleMsg)
EXPECT_EXIT(RunPair("shmem"), ::testing::ExitedWithCode(0), "PAIR test successfull"); EXPECT_EXIT(RunPair("shmem"), ::testing::ExitedWithCode(0), "PAIR test successfull");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(Pair, MP_Nanomsg_tcp____SingleMsg) TEST(Pair, MP_Nanomsg_tcp____SingleMsg)
{ {
EXPECT_EXIT(RunPair("nanomsg"), ::testing::ExitedWithCode(0), "PAIR test successfull"); EXPECT_EXIT(RunPair("nanomsg"), ::testing::ExitedWithCode(0), "PAIR test successfull");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
#ifdef BUILD_OFI_TRANSPORT #ifdef BUILD_OFI_TRANSPORT
TEST(Pair, MP_Ofi_____tcp____SingleMsg) TEST(Pair, MP_Ofi_____tcp____SingleMsg)

View File

@ -55,12 +55,12 @@ TEST(Poller, ZeroMQ_subchannel)
EXPECT_EXIT(RunPoller("zeromq", 0), ::testing::ExitedWithCode(0), "POLL test successfull"); EXPECT_EXIT(RunPoller("zeromq", 0), ::testing::ExitedWithCode(0), "POLL test successfull");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(Poller, Nanomsg_subchannel) TEST(Poller, Nanomsg_subchannel)
{ {
EXPECT_EXIT(RunPoller("nanomsg", 0), ::testing::ExitedWithCode(0), "POLL test successfull"); EXPECT_EXIT(RunPoller("nanomsg", 0), ::testing::ExitedWithCode(0), "POLL test successfull");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
TEST(Poller, ShMem_subchannel) TEST(Poller, ShMem_subchannel)
{ {
@ -72,12 +72,12 @@ TEST(Poller, ZeroMQ_channel)
EXPECT_EXIT(RunPoller("zeromq", 1), ::testing::ExitedWithCode(0), "POLL test successfull"); EXPECT_EXIT(RunPoller("zeromq", 1), ::testing::ExitedWithCode(0), "POLL test successfull");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(Poller, Nanomsg_channel) TEST(Poller, Nanomsg_channel)
{ {
EXPECT_EXIT(RunPoller("nanomsg", 1), ::testing::ExitedWithCode(0), "POLL test successfull"); EXPECT_EXIT(RunPoller("nanomsg", 1), ::testing::ExitedWithCode(0), "POLL test successfull");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
TEST(Poller, ShMem_channel) TEST(Poller, ShMem_channel)
{ {

View File

@ -60,11 +60,11 @@ TEST(PubSub, ZeroMQ)
EXPECT_EXIT(RunPubSub("zeromq"), ::testing::ExitedWithCode(0), "PUB-SUB test successfull"); EXPECT_EXIT(RunPubSub("zeromq"), ::testing::ExitedWithCode(0), "PUB-SUB test successfull");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(PubSub, Nanomsg) TEST(PubSub, Nanomsg)
{ {
EXPECT_EXIT(RunPubSub("nanomsg"), ::testing::ExitedWithCode(0), "PUB-SUB test successfull"); EXPECT_EXIT(RunPubSub("nanomsg"), ::testing::ExitedWithCode(0), "PUB-SUB test successfull");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
} // namespace } // namespace

View File

@ -56,11 +56,11 @@ TEST(PushPull, MP_ShMem___tcp____SingleMsg)
EXPECT_EXIT(RunPushPull("shmem"), ::testing::ExitedWithCode(0), "PUSH-PULL test successfull"); EXPECT_EXIT(RunPushPull("shmem"), ::testing::ExitedWithCode(0), "PUSH-PULL test successfull");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(PushPull, MP_Nanomsg_tcp____SingleMsg) TEST(PushPull, MP_Nanomsg_tcp____SingleMsg)
{ {
EXPECT_EXIT(RunPushPull("nanomsg"), ::testing::ExitedWithCode(0), "PUSH-PULL test successfull"); EXPECT_EXIT(RunPushPull("nanomsg"), ::testing::ExitedWithCode(0), "PUSH-PULL test successfull");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
} // namespace } // namespace

View File

@ -113,12 +113,12 @@ TEST(PushPull, ST_Shmem___inproc_Multipart)
RunSingleThreadedMultipart("shmem", "inproc://test"); RunSingleThreadedMultipart("shmem", "inproc://test");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(PushPull, ST_Nanomsg_inproc_Multipart) TEST(PushPull, ST_Nanomsg_inproc_Multipart)
{ {
RunSingleThreadedMultipart("nanomsg", "inproc://test"); RunSingleThreadedMultipart("nanomsg", "inproc://test");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
TEST(PushPull, ST_ZeroMQ__ipc____Multipart) TEST(PushPull, ST_ZeroMQ__ipc____Multipart)
{ {
@ -130,12 +130,12 @@ TEST(PushPull, ST_Shmen___ipc____Multipart)
RunSingleThreadedMultipart("shmem", "ipc://test_ST_Shmen___ipc____Multipart"); RunSingleThreadedMultipart("shmem", "ipc://test_ST_Shmen___ipc____Multipart");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(PushPull, ST_Nanomsg_ipc____Multipart) TEST(PushPull, ST_Nanomsg_ipc____Multipart)
{ {
RunSingleThreadedMultipart("nanomsg", "ipc://test_ST_Nanomsg_ipc____Multipart"); RunSingleThreadedMultipart("nanomsg", "ipc://test_ST_Nanomsg_ipc____Multipart");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
TEST(PushPull, MT_ZeroMQ__inproc_Multipart) TEST(PushPull, MT_ZeroMQ__inproc_Multipart)
{ {
@ -147,12 +147,12 @@ TEST(PushPull, MT_Shmem___inproc_Multipart)
RunMultiThreadedMultipart("shmem", "inproc://test"); RunMultiThreadedMultipart("shmem", "inproc://test");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(PushPull, MT_Nanomsg_inproc_Multipart) TEST(PushPull, MT_Nanomsg_inproc_Multipart)
{ {
RunMultiThreadedMultipart("nanomsg", "inproc://test"); RunMultiThreadedMultipart("nanomsg", "inproc://test");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
TEST(PushPull, MT_ZeroMQ__ipc____Multipart) TEST(PushPull, MT_ZeroMQ__ipc____Multipart)
{ {
@ -164,11 +164,11 @@ TEST(PushPull, MT_Shmem___ipc____Multipart)
RunMultiThreadedMultipart("shmem", "ipc://test_MT_Shmem___ipc____Multipart"); RunMultiThreadedMultipart("shmem", "ipc://test_MT_Shmem___ipc____Multipart");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(PushPull, MT_Nanomsg_ipc____Multipart) TEST(PushPull, MT_Nanomsg_ipc____Multipart)
{ {
RunMultiThreadedMultipart("nanomsg", "ipc://test_MT_Nanomsg_ipc____Multipart"); RunMultiThreadedMultipart("nanomsg", "ipc://test_MT_Nanomsg_ipc____Multipart");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
} // namespace } // namespace

View File

@ -65,11 +65,11 @@ TEST(ReqRep, ShMem)
EXPECT_EXIT(RunReqRep("shmem"), ::testing::ExitedWithCode(0), "REQ-REP test successfull"); EXPECT_EXIT(RunReqRep("shmem"), ::testing::ExitedWithCode(0), "REQ-REP test successfull");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(ReqRep, Nanomsg) TEST(ReqRep, Nanomsg)
{ {
EXPECT_EXIT(RunReqRep("nanomsg"), ::testing::ExitedWithCode(0), "REQ-REP test successfull"); EXPECT_EXIT(RunReqRep("nanomsg"), ::testing::ExitedWithCode(0), "REQ-REP test successfull");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
} // namespace } // namespace

View File

@ -41,11 +41,11 @@ TEST(TransferTimeout, ShMem)
EXPECT_EXIT(RunTransferTimeout("shmem"), ::testing::ExitedWithCode(0), "Transfer timeout test successfull"); EXPECT_EXIT(RunTransferTimeout("shmem"), ::testing::ExitedWithCode(0), "Transfer timeout test successfull");
} }
#ifdef NANOMSG_FOUND #ifdef BUILD_NANOMSG_TRANSPORT
TEST(TransferTimeout, Nanomsg) TEST(TransferTimeout, Nanomsg)
{ {
EXPECT_EXIT(RunTransferTimeout("nanomsg"), ::testing::ExitedWithCode(0), "Transfer timeout test successfull"); EXPECT_EXIT(RunTransferTimeout("nanomsg"), ::testing::ExitedWithCode(0), "Transfer timeout test successfull");
} }
#endif /* NANOMSG_FOUND */ #endif /* BUILD_NANOMSG_TRANSPORT */
} // namespace } // namespace