Fix build

This commit is contained in:
Dennis Klein
2018-04-15 18:04:52 +02:00
parent 2327fd2115
commit 5e39011a5b
24 changed files with 590 additions and 97 deletions

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 #
# GNU Lesser General Public Licence (LGPL) version 3, #
@@ -9,29 +9,27 @@
####################
# external plugins #
####################
if (DDS_FOUND)
add_subdirectory(plugins/DDS)
if(BUILD_DDS_PLUGIN)
add_subdirectory(plugins/DDS)
endif()
############################
# preprocessor definitions #
############################
if(NANOMSG_FOUND)
add_definitions(-DNANOMSG_FOUND)
if(MSGPACK_FOUND)
add_definitions(-DMSGPACK_FOUND)
endif()
if(BUILD_NANOMSG_TRANSPORT)
add_definitions(-DBUILD_NANOMSG_TRANSPORT)
endif()
if(BUILD_OFI_TRANSPORT)
add_definitions(-DBUILD_OFI_TRANSPORT)
add_definitions(-DBUILD_OFI_TRANSPORT)
endif()
##################
# subdirectories #
##################
add_subdirectory(shmem/prototype)
# add_subdirectory(shmem/prototype)
##########################
# libFairMQ header files #
@@ -94,7 +92,7 @@ set(FAIRMQ_HEADER_FILES
zeromq/FairMQTransportFactoryZMQ.h
)
if(NANOMSG_FOUND)
if(BUILD_NANOMSG_TRANSPORT)
set(FAIRMQ_HEADER_FILES ${FAIRMQ_HEADER_FILES}
nanomsg/FairMQMessageNN.h
nanomsg/FairMQPollerNN.h
@@ -157,7 +155,7 @@ set(FAIRMQ_SOURCE_FILES
zeromq/FairMQTransportFactoryZMQ.cxx
)
if(NANOMSG_FOUND)
if(BUILD_NANOMSG_TRANSPORT)
set(FAIRMQ_SOURCE_FILES ${FAIRMQ_SOURCE_FILES}
nanomsg/FairMQMessageNN.cxx
nanomsg/FairMQPollerNN.cxx
@@ -237,6 +235,9 @@ target_include_directories(FairMQ
##################
# link libraries #
##################
if(BUILD_NANOMSG_TRANSPORT)
set(NANOMSG_DEPS nanomsg msgpackc)
endif()
if(BUILD_OFI_TRANSPORT)
set(OFI_DEPS OFI::libfabric protobuf::libprotobuf)
endif()
@@ -254,13 +255,12 @@ target_link_libraries(FairMQ
Boost::regex
Boost::date_time
Boost::signals
Logger
FairLogger::FairLogger
$<$<PLATFORM_ID:Linux>:rt>
PRIVATE # only libFairMQ links against private dependencies
ZeroMQ
$<$<BOOL:${NANOMSG_FOUND}>:nanomsg>
$<$<AND:$<BOOL:${NANOMSG_FOUND}>,$<BOOL:${MSGPACK_FOUND}>>:Msgpack>
${NANOMSG_DEPS}
${OFI_DEPS}
)
@@ -310,15 +310,9 @@ install(
splitter
shmmonitor
EXPORT FairMQ
LIBRARY
DESTINATION lib
COMPONENT fairmq
RUNTIME
DESTINATION bin
COMPONENT fairmq
EXPORT ${FairMQ_EXPORT_SET}
LIBRARY DESTINATION ${FairMQ_INSTALL_LIBDIR}
RUNTIME DESTINATION ${FairMQ_INSTALL_BINDIR}
)
# preserve relative path and prepend fairmq
@@ -327,6 +321,5 @@ foreach(HEADER ${FAIRMQ_HEADER_FILES})
file(TO_CMAKE_PATH include/fairmq/${_path} _destination)
install(FILES ${HEADER}
DESTINATION ${_destination}
COMPONENT fairmq
)
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 *
* GNU Lesser General Public Licence (LGPL) version 3, *
* copied verbatim in the file "LICENSE" *
********************************************************************************/
/**
* FairMQLogger.h
*
* @since 2012-12-04
* @author D. Klein, A. Rybalchenko
*/
#ifndef FAIRMQLOGGER_H_
#define FAIRMQLOGGER_H_
#include <Logger.h>
#include <fairlogger/Logger.h>
#endif /* FAIRMQLOGGER_H_ */

View File

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

View File

@@ -10,7 +10,6 @@
#define FAIRMQ_VERSION "@PROJECT_VERSION@"
#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_MINOR @PROJECT_VERSION_MINOR@
#define FAIRMQ_VERSION_PATCH @PROJECT_VERSION_PATCH@

View File

@@ -7,24 +7,18 @@
################################################################################
set(plugin FairMQPlugin_dds)
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_include_directories(${plugin} PRIVATE ${CMAKE_CURRENT_BINARY_DIR} PUBLIC ${DDS_INCLUDE_DIR})
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})
set_target_properties(${plugin} PROPERTIES CXX_VISIBILITY_PRESET hidden)
add_executable(fairmq-dds-command-ui ${CMAKE_CURRENT_SOURCE_DIR}/runDDSCommandUI.cxx)
target_link_libraries(fairmq-dds-command-ui FairMQ ${DDS_INTERCOM_LIBRARY_SHARED} ${DDS_PROTOCOL_LIBRARY_SHARED} ${DDS_USER_DEFAULTS_LIBRARY_SHARED})
target_include_directories(fairmq-dds-command-ui PRIVATE ${CMAKE_CURRENT_BINARY_DIR} PUBLIC ${DDS_INCLUDE_DIR})
set(exe fairmq-dds-command-ui)
add_executable(${exe} ${CMAKE_CURRENT_SOURCE_DIR}/runDDSCommandUI.cxx)
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
EXPORT FairMQ
LIBRARY
DESTINATION lib
COMPONENT fairmq
RUNTIME
DESTINATION bin
COMPONENT fairmq
install(TARGETS ${plugin} ${exe}
EXPORT ${FairMQ_EXPORT_SET}
LIBRARY DESTINATION ${FairMQ_INSTALL_LIBDIR}
RUNTIME DESTINATION ${FairMQ_INSTALL_BINDIR}
)