mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-17 02:21:47 +00:00
FairMQ Examples cleanup
- Rename Tutorial3 MQ files for uniform naming. - Add search for dylib in FindDDS.cmake (OSX). - Add more detail to the DDS example readme. - MQ Example 3 (DDS): choose network interface via command line option. - Give FairMQ examples their own CMakeLists.txt for clarity. - Remove C++11 checks in Tutorial3 from the code (they are now in CMake). - Add Serializer for device properties (FairMQDevice::ListProperties()).
This commit is contained in:
committed by
Mohammad Al-Turany
parent
a75486f3ec
commit
19afacb504
@@ -7,54 +7,34 @@
|
||||
################################################################################
|
||||
|
||||
configure_file(${CMAKE_SOURCE_DIR}/fairmq/options/ProgOptionTest/macro/bsampler-sink.json ${CMAKE_BINARY_DIR}/bin/config/bsampler-sink.json)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/fairmq/examples/1-sampler-sink/ex1-sampler-sink.json ${CMAKE_BINARY_DIR}/bin/config/ex1-sampler-sink.json)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/fairmq/examples/2-sampler-processor-sink/ex2-sampler-processor-sink.json ${CMAKE_BINARY_DIR}/bin/config/ex2-sampler-processor-sink.json)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/fairmq/examples/3-dds/ex3-devices.json ${CMAKE_BINARY_DIR}/bin/config/ex3-devices.json)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/fairmq/examples/3-dds/ex3-dds-topology.xml ${CMAKE_BINARY_DIR}/bin/config/ex3-dds-topology.xml)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/fairmq/examples/3-dds/ex3-dds-hosts.cfg ${CMAKE_BINARY_DIR}/bin/config/ex3-dds-hosts.cfg COPYONLY)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/fairmq/examples/4-copypush/ex4-copypush.json ${CMAKE_BINARY_DIR}/bin/config/ex4-copypush.json)
|
||||
|
||||
configure_file(${CMAKE_SOURCE_DIR}/fairmq/test/test-fairmq-push-pull.sh.in ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-push-pull.sh)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/fairmq/test/test-fairmq-pub-sub.sh.in ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-pub-sub.sh)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/fairmq/test/test-fairmq-req-rep.sh.in ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-req-rep.sh)
|
||||
|
||||
add_subdirectory(logger)
|
||||
|
||||
add_subdirectory(examples/1-sampler-sink)
|
||||
add_subdirectory(examples/2-sampler-processor-sink)
|
||||
If(DDS_FOUND)
|
||||
add_subdirectory(examples/3-dds)
|
||||
EndIf(DDS_FOUND)
|
||||
add_subdirectory(examples/4-copypush)
|
||||
add_subdirectory(examples/5-req-rep)
|
||||
|
||||
add_subdirectory(test)
|
||||
|
||||
Set(INCLUDE_DIRECTORIES
|
||||
${CMAKE_SOURCE_DIR}/fairmq
|
||||
${CMAKE_SOURCE_DIR}/fairmq/devices
|
||||
${CMAKE_SOURCE_DIR}/fairmq/tools
|
||||
${CMAKE_SOURCE_DIR}/fairmq/options
|
||||
${CMAKE_SOURCE_DIR}/fairmq/logger
|
||||
${CMAKE_SOURCE_DIR}/fairmq/examples/1-sampler-sink
|
||||
${CMAKE_SOURCE_DIR}/fairmq/examples/2-sampler-processor-sink
|
||||
${CMAKE_SOURCE_DIR}/fairmq/examples/4-copypush
|
||||
${CMAKE_SOURCE_DIR}/fairmq/examples/5-req-rep
|
||||
${CMAKE_SOURCE_DIR}/fairmq/test/push-pull
|
||||
${CMAKE_SOURCE_DIR}/fairmq/test/pub-sub
|
||||
${CMAKE_SOURCE_DIR}/fairmq/test/req-rep
|
||||
${CMAKE_SOURCE_DIR}/fairmq/zeromq
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
if(DDS_FOUND)
|
||||
add_definitions(-DENABLE_DDS)
|
||||
Set(INCLUDE_DIRECTORIES
|
||||
${INCLUDE_DIRECTORIES}
|
||||
${CMAKE_SOURCE_DIR}/fairmq/examples/3-dds
|
||||
)
|
||||
endif(DDS_FOUND)
|
||||
|
||||
Set(SYSTEM_INCLUDE_DIRECTORIES
|
||||
${Boost_INCLUDE_DIR}
|
||||
${ZMQ_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
If(DDS_FOUND)
|
||||
Set(SYSTEM_INCLUDE_DIRECTORIES
|
||||
${SYSTEM_INCLUDE_DIRECTORIES}
|
||||
${DDS_INCLUDE_DIR}
|
||||
)
|
||||
EndIf(DDS_FOUND)
|
||||
|
||||
If(PROTOBUF_FOUND)
|
||||
Set(INCLUDE_DIRECTORIES
|
||||
${INCLUDE_DIRECTORIES}
|
||||
@@ -74,16 +54,7 @@ If(NANOMSG_FOUND)
|
||||
)
|
||||
Set(SYSTEM_INCLUDE_DIRECTORIES
|
||||
${SYSTEM_INCLUDE_DIRECTORIES}
|
||||
${NANOMSG_LIBRARY_SHARED}
|
||||
)
|
||||
Else(NANOMSG_FOUND)
|
||||
Set(INCLUDE_DIRECTORIES
|
||||
${INCLUDE_DIRECTORIES}
|
||||
${CMAKE_SOURCE_DIR}/fairmq/zeromq
|
||||
)
|
||||
Set(SYSTEM_INCLUDE_DIRECTORIES
|
||||
${SYSTEM_INCLUDE_DIRECTORIES}
|
||||
${ZMQ_INCLUDE_DIR}
|
||||
${NANOMSG_INCLUDE_DIR}
|
||||
)
|
||||
EndIf(NANOMSG_FOUND)
|
||||
|
||||
@@ -94,16 +65,15 @@ Set(LINK_DIRECTORIES
|
||||
${Boost_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
if(DDS_FOUND)
|
||||
set(LINK_DIRECTORIES
|
||||
${LINK_DIRECTORIES}
|
||||
${DDS_LIBRARY_DIR}
|
||||
)
|
||||
endif(DDS_FOUND)
|
||||
|
||||
Link_Directories(${LINK_DIRECTORIES})
|
||||
|
||||
set(SRCS
|
||||
Set(SRCS
|
||||
"zeromq/FairMQTransportFactoryZMQ.cxx"
|
||||
"zeromq/FairMQMessageZMQ.cxx"
|
||||
"zeromq/FairMQSocketZMQ.cxx"
|
||||
"zeromq/FairMQPollerZMQ.cxx"
|
||||
"zeromq/FairMQContextZMQ.cxx"
|
||||
|
||||
"FairMQLogger.cxx"
|
||||
"FairMQConfigurable.cxx"
|
||||
"FairMQStateMachine.cxx"
|
||||
@@ -124,39 +94,9 @@ set(SRCS
|
||||
"options/FairProgOptions.cxx"
|
||||
"options/FairMQProgOptions.cxx"
|
||||
"options/FairMQParser.cxx"
|
||||
|
||||
"examples/1-sampler-sink/FairMQExample1Sampler.cxx"
|
||||
"examples/1-sampler-sink/FairMQExample1Sink.cxx"
|
||||
"examples/2-sampler-processor-sink/FairMQExample2Sampler.cxx"
|
||||
"examples/2-sampler-processor-sink/FairMQExample2Processor.cxx"
|
||||
"examples/2-sampler-processor-sink/FairMQExample2Sink.cxx"
|
||||
"examples/4-copypush/FairMQExample4Sampler.cxx"
|
||||
"examples/4-copypush/FairMQExample4Sink.cxx"
|
||||
"examples/5-req-rep/FairMQExample5Client.cxx"
|
||||
"examples/5-req-rep/FairMQExample5Server.cxx"
|
||||
|
||||
"test/push-pull/FairMQTestPush.cxx"
|
||||
"test/push-pull/FairMQTestPull.cxx"
|
||||
"test/pub-sub/FairMQTestPub.cxx"
|
||||
"test/pub-sub/FairMQTestSub.cxx"
|
||||
"test/req-rep/FairMQTestReq.cxx"
|
||||
"test/req-rep/FairMQTestRep.cxx"
|
||||
)
|
||||
|
||||
if(DDS_FOUND)
|
||||
set(SRCS
|
||||
${SRCS}
|
||||
"examples/3-dds/FairMQExample3Sampler.cxx"
|
||||
"examples/3-dds/FairMQExample3Processor.cxx"
|
||||
"examples/3-dds/FairMQExample3Sink.cxx"
|
||||
)
|
||||
set(DEPENDENCIES
|
||||
${DEPENDENCIES}
|
||||
dds-key-value-lib
|
||||
)
|
||||
endif(DDS_FOUND)
|
||||
|
||||
if(PROTOBUF_FOUND)
|
||||
If(PROTOBUF_FOUND)
|
||||
# following source files are only for protobuf tests and are not essential part of FairMQ
|
||||
# add_custom_command(
|
||||
# OUTPUT
|
||||
@@ -175,38 +115,25 @@ if(PROTOBUF_FOUND)
|
||||
# "prototest/FairMQBinSink.cxx"
|
||||
# "prototest/FairMQProtoSink.cxx"
|
||||
# )
|
||||
set(DEPENDENCIES
|
||||
Set(DEPENDENCIES
|
||||
${DEPENDENCIES}
|
||||
${PROTOBUF_LIBRARY}
|
||||
)
|
||||
endif(PROTOBUF_FOUND)
|
||||
Endif(PROTOBUF_FOUND)
|
||||
|
||||
if(NANOMSG_FOUND)
|
||||
set(SRCS
|
||||
If(NANOMSG_FOUND)
|
||||
Set(SRCS
|
||||
${SRCS}
|
||||
"nanomsg/FairMQTransportFactoryNN.cxx"
|
||||
"nanomsg/FairMQMessageNN.cxx"
|
||||
"nanomsg/FairMQSocketNN.cxx"
|
||||
"nanomsg/FairMQPollerNN.cxx"
|
||||
)
|
||||
set(DEPENDENCIES
|
||||
Set(DEPENDENCIES
|
||||
${DEPENDENCIES}
|
||||
${NANOMSG_LIBRARY_SHARED}
|
||||
)
|
||||
else(NANOMSG_FOUND)
|
||||
set(SRCS
|
||||
${SRCS}
|
||||
"zeromq/FairMQTransportFactoryZMQ.cxx"
|
||||
"zeromq/FairMQMessageZMQ.cxx"
|
||||
"zeromq/FairMQSocketZMQ.cxx"
|
||||
"zeromq/FairMQPollerZMQ.cxx"
|
||||
"zeromq/FairMQContextZMQ.cxx"
|
||||
)
|
||||
set(DEPENDENCIES
|
||||
${DEPENDENCIES}
|
||||
${ZMQ_LIBRARY_SHARED}
|
||||
)
|
||||
endif(NANOMSG_FOUND)
|
||||
EndIf(NANOMSG_FOUND)
|
||||
|
||||
# to copy src that are header-only files (e.g. c++ template) for FairRoot external installation
|
||||
# manual install (globbing add not recommended)
|
||||
@@ -217,10 +144,11 @@ Set(FAIRMQHEADERS
|
||||
devices/GenericFileSink.h
|
||||
tools/FairMQTools.h
|
||||
)
|
||||
install(FILES ${FAIRMQHEADERS} DESTINATION include)
|
||||
Install(FILES ${FAIRMQHEADERS} DESTINATION include)
|
||||
|
||||
set(DEPENDENCIES
|
||||
Set(DEPENDENCIES
|
||||
${DEPENDENCIES}
|
||||
${ZMQ_LIBRARY_SHARED}
|
||||
boost_thread
|
||||
fairmq_logger
|
||||
boost_timer
|
||||
@@ -232,43 +160,19 @@ set(DEPENDENCIES
|
||||
boost_exception
|
||||
)
|
||||
|
||||
set(LIBRARY_NAME FairMQ)
|
||||
Set(LIBRARY_NAME FairMQ)
|
||||
|
||||
GENERATE_LIBRARY()
|
||||
|
||||
set(Exe_Names
|
||||
Set(Exe_Names
|
||||
bsampler
|
||||
sink
|
||||
buffer
|
||||
splitter
|
||||
merger
|
||||
proxy
|
||||
ex1-sampler
|
||||
ex1-sink
|
||||
ex2-sampler
|
||||
ex2-processor
|
||||
ex2-sink
|
||||
ex4-sampler
|
||||
ex4-sink
|
||||
ex5-client
|
||||
ex5-server
|
||||
test-fairmq-push
|
||||
test-fairmq-pull
|
||||
test-fairmq-pub
|
||||
test-fairmq-sub
|
||||
test-fairmq-req
|
||||
test-fairmq-rep
|
||||
)
|
||||
|
||||
if(DDS_FOUND)
|
||||
set(Exe_Names
|
||||
${Exe_Names}
|
||||
ex3-sampler-dds
|
||||
ex3-processor-dds
|
||||
ex3-sink-dds
|
||||
)
|
||||
endif(DDS_FOUND)
|
||||
|
||||
# following executables are only for protobuf tests and are not essential part of FairMQ
|
||||
# if(PROTOBUF_FOUND)
|
||||
# set(Exe_Names
|
||||
@@ -280,39 +184,15 @@ endif(DDS_FOUND)
|
||||
# )
|
||||
# endif(PROTOBUF_FOUND)
|
||||
|
||||
set(Exe_Source
|
||||
Set(Exe_Source
|
||||
run/runBenchmarkSampler.cxx
|
||||
run/runSink.cxx
|
||||
run/runBuffer.cxx
|
||||
run/runSplitter.cxx
|
||||
run/runMerger.cxx
|
||||
run/runProxy.cxx
|
||||
examples/1-sampler-sink/runExample1Sampler.cxx
|
||||
examples/1-sampler-sink/runExample1Sink.cxx
|
||||
examples/2-sampler-processor-sink/runExample2Sampler.cxx
|
||||
examples/2-sampler-processor-sink/runExample2Processor.cxx
|
||||
examples/2-sampler-processor-sink/runExample2Sink.cxx
|
||||
examples/4-copypush/runExample4Sampler.cxx
|
||||
examples/4-copypush/runExample4Sink.cxx
|
||||
examples/5-req-rep/runExample5Client.cxx
|
||||
examples/5-req-rep/runExample5Server.cxx
|
||||
test/push-pull/runTestPush.cxx
|
||||
test/push-pull/runTestPull.cxx
|
||||
test/pub-sub/runTestPub.cxx
|
||||
test/pub-sub/runTestSub.cxx
|
||||
test/req-rep/runTestReq.cxx
|
||||
test/req-rep/runTestRep.cxx
|
||||
)
|
||||
|
||||
if(DDS_FOUND)
|
||||
set(Exe_Source
|
||||
${Exe_Source}
|
||||
examples/3-dds/runExample3Sampler.cxx
|
||||
examples/3-dds/runExample3Processor.cxx
|
||||
examples/3-dds/runExample3Sink.cxx
|
||||
)
|
||||
endif(DDS_FOUND)
|
||||
|
||||
# following source files are only for protobuf tests and are not essential part of FairMQ
|
||||
# if(PROTOBUF_FOUND)
|
||||
# set(Exe_Source
|
||||
@@ -330,20 +210,8 @@ math(EXPR _length ${_length}-1)
|
||||
ForEach(_file RANGE 0 ${_length})
|
||||
list(GET Exe_Names ${_file} _name)
|
||||
list(GET Exe_Source ${_file} _src)
|
||||
set(EXE_NAME ${_name})
|
||||
set(SRCS ${_src})
|
||||
set(DEPENDENCIES FairMQ)
|
||||
Set(EXE_NAME ${_name})
|
||||
Set(SRCS ${_src})
|
||||
Set(DEPENDENCIES FairMQ)
|
||||
GENERATE_EXECUTABLE()
|
||||
EndForEach(_file RANGE 0 ${_length})
|
||||
|
||||
add_test(NAME run_fairmq_push_pull COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-push-pull.sh)
|
||||
set_tests_properties(run_fairmq_push_pull PROPERTIES TIMEOUT "30")
|
||||
set_tests_properties(run_fairmq_push_pull PROPERTIES PASS_REGULAR_EXPRESSION "PUSH-PULL test successfull")
|
||||
|
||||
add_test(NAME run_fairmq_pub_sub COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-pub-sub.sh)
|
||||
set_tests_properties(run_fairmq_pub_sub PROPERTIES TIMEOUT "30")
|
||||
set_tests_properties(run_fairmq_pub_sub PROPERTIES PASS_REGULAR_EXPRESSION "PUB-SUB test successfull")
|
||||
|
||||
add_test(NAME run_fairmq_req_rep COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-req-rep.sh)
|
||||
set_tests_properties(run_fairmq_req_rep PROPERTIES TIMEOUT "30")
|
||||
set_tests_properties(run_fairmq_req_rep PROPERTIES PASS_REGULAR_EXPRESSION "REQ-REP test successfull")
|
||||
|
Reference in New Issue
Block a user