Skip to content
Snippets Groups Projects
Commit 4d2ca0fc authored by Jonathan Hanks's avatar Jonathan Hanks
Browse files

Initial build system changes to support a zmq data concentrator.

The producer has been split out for zmq, but still does mx.  CMake
changes to help with builds of multiple daqds.

git-svn-id: https://redoubt.ligo-wa.caltech.edu/svn/advLigoRTS/trunk@4409 6dcd42c9-f523-4c6d-aada-af552506706e
parent eaf95529
No related branches found
No related tags found
No related merge requests found
...@@ -17,6 +17,7 @@ FIND_PACKAGE(PkgConfig) ...@@ -17,6 +17,7 @@ FIND_PACKAGE(PkgConfig)
FIND_PACKAGE(EPICSBase REQUIRED) FIND_PACKAGE(EPICSBase REQUIRED)
FIND_PACKAGE(FrameCPP REQUIRED) FIND_PACKAGE(FrameCPP REQUIRED)
FIND_PACKAGE(MX) FIND_PACKAGE(MX)
FIND_PACKAGE(ZMQ4)
CHECK_CXX_COMPILER_FLAG(-Wno-deprecated-declarations CAN_AVOID_DEPR_DECL) CHECK_CXX_COMPILER_FLAG(-Wno-deprecated-declarations CAN_AVOID_DEPR_DECL)
if(CAN_AVOID_DEPR_DECL) if(CAN_AVOID_DEPR_DECL)
......
...@@ -196,16 +196,13 @@ target_link_libraries(daqd_fw fw_common fw_comm fw_daqd_gds ca Com cas gdd epics ...@@ -196,16 +196,13 @@ target_link_libraries(daqd_fw fw_common fw_comm fw_daqd_gds ca Com cas gdd epics
if (${MX_FOUND}) if (${MX_FOUND})
########### ###########
# DC Build with some mx support # DC Build with mx support
# do not use, it is here in order to start
# work on the zmq dc
#### ####
set (DAQD_DC_MAIN_SRC set (DAQD_DC_MAIN_SRC
archive.cc archive.cc
profiler.cc profiler.cc
filesys.cc filesys.cc
epics_pvs.cc epics_pvs.cc
producer.cc
trend.cc trend.cc
net_writer.cc net_writer.cc
circ.cc circ.cc
...@@ -218,7 +215,6 @@ set (DAQD_DC_MAIN_SRC ...@@ -218,7 +215,6 @@ set (DAQD_DC_MAIN_SRC
exVectorPV.cc exVectorPV.cc
exPV.cc exPV.cc
exChannel.cc exChannel.cc
mx_rcvr.cc
framerecv.cc framerecv.cc
listener.cc listener.cc
daqd.cc daqd.cc
...@@ -228,30 +224,30 @@ set (DAQD_DC_MAIN_SRC ...@@ -228,30 +224,30 @@ set (DAQD_DC_MAIN_SRC
set (DAQD_DC_GDS_SRC set (DAQD_DC_GDS_SRC
gds.cc) gds.cc)
add_library(dc_gds STATIC ${DAQD_DC_GDS_SRC}) add_library(dc_mx_gds STATIC ${DAQD_DC_GDS_SRC})
target_compile_definitions(dc_gds PRIVATE target_compile_definitions(dc_mx_gds PRIVATE
${DAQD_BUILD_INFO_DEFINES} -DUNIX -Dlinux -DUNIX -Dlinux ${DAQD_BUILD_INFO_DEFINES} -DUNIX -Dlinux -DUNIX -Dlinux
-D_REENTRANT -DNO_RTL=1 -DDAQD_CPP11 -DUSE_FRAMECPP_VERSION -D_REENTRANT -DNO_RTL=1 -DDAQD_CPP11 -DUSE_FRAMECPP_VERSION
-DLIGO_GDS -DLIGO_GDS
-D_TP_DAQD -D_TP_DAQD
-DARCHIVE=\"${CMAKE_CURRENT_SOURCE_DIR}/../gds\" -DARCHIVE=\"${CMAKE_CURRENT_SOURCE_DIR}/../gds\"
-DDAQD_BUILD_DC) -DDAQD_BUILD_DC)
target_include_directories(dc_gds PUBLIC target_include_directories(dc_mx_gds PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/../include ${CMAKE_CURRENT_SOURCE_DIR}/../include
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
) )
target_compile_options(dc_gds PUBLIC target_compile_options(dc_mx_gds PUBLIC
-fno-common -fno-common
-Wno-deprecated -Wno-deprecated
-Wno-write-strings -Wno-write-strings
) )
target_link_libraries(dc_gds PRIVATE target_link_libraries(dc_mx_gds PRIVATE
gds::dc_gds gds::dc_gds
ldastools::framecpp ldastools::framecpp
mx::myriexpress) mx::myriexpress)
add_executable(daqd_dc_mx ${DAQD_DC_MAIN_SRC}) add_executable(daqd_dc_mx ${DAQD_DC_MAIN_SRC} producer.cc mx_rcvr.cc)
target_compile_definitions(daqd_dc_mx PUBLIC target_compile_definitions(daqd_dc_mx PUBLIC
${DAQD_BUILD_INFO_DEFINES} -DUNIX -Dlinux -DUNIX -Dlinux ${DAQD_BUILD_INFO_DEFINES} -DUNIX -Dlinux -DUNIX -Dlinux
-D_REENTRANT -DNO_RTL=1 -DDAQD_CPP11 -DUSE_FRAMECPP_VERSION -D_REENTRANT -DNO_RTL=1 -DDAQD_CPP11 -DUSE_FRAMECPP_VERSION
...@@ -264,7 +260,7 @@ target_include_directories(daqd_dc_mx PUBLIC ...@@ -264,7 +260,7 @@ target_include_directories(daqd_dc_mx PUBLIC
) )
target_link_libraries(daqd_dc_mx PUBLIC target_link_libraries(daqd_dc_mx PUBLIC
gds::dc_gds gds::dc_gds
dc_gds dc_mx_gds
run_number::run_number run_number::run_number
ca Com cas gdd epics::ca epics::cas ca Com cas gdd epics::ca epics::cas
${EPICS_BASE_CA_LIBS} ${EPICS_BASE_CAS_LIBS} ${EPICS_BASE_CA_LIBS} ${EPICS_BASE_CAS_LIBS}
...@@ -274,3 +270,53 @@ target_link_libraries(daqd_dc_mx PUBLIC ...@@ -274,3 +270,53 @@ target_link_libraries(daqd_dc_mx PUBLIC
) )
endif(${MX_FOUND}) endif(${MX_FOUND})
#########
# DC with ZMQ
###
# Reuse the main source lists from daqd_dc_mx
add_library(dc_gds_zmq STATIC ${DAQD_DC_GDS_SRC})
target_compile_definitions(dc_gds_zmq PRIVATE
${DAQD_BUILD_INFO_DEFINES} -DUNIX -Dlinux -DUNIX -Dlinux
-D_REENTRANT -DNO_RTL=1 -DDAQD_CPP11 -DUSE_FRAMECPP_VERSION
-DLIGO_GDS
-D_TP_DAQD
-DARCHIVE=\"${CMAKE_CURRENT_SOURCE_DIR}/../gds\"
-DDAQD_BUILD_DC_ZMQ)
target_include_directories(dc_gds_zmq PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/../include
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
target_compile_options(dc_gds_zmq PUBLIC
-fno-common
-Wno-deprecated
-Wno-write-strings
)
target_link_libraries(dc_gds_zmq PRIVATE
gds::dc_gds
ldastools::framecpp
zmq
)
add_executable(daqd_dc_zmq ${DAQD_DC_MAIN_SRC} producer_zmq.cc)
target_compile_definitions(daqd_dc_zmq PUBLIC
${DAQD_BUILD_INFO_DEFINES} -DUNIX -Dlinux -DUNIX -Dlinux
-D_REENTRANT -DNO_RTL=1 -DDAQD_CPP11 -DUSE_FRAMECPP_VERSION
-DDAQD_BUILD_DC_ZMQ
)
target_include_directories(daqd_dc_zmq PUBLIC
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../include
)
target_link_libraries(daqd_dc_zmq PUBLIC
gds::dc_gds
dc_gds_zmq
run_number::run_number
ca Com cas gdd epics::ca epics::cas
${EPICS_BASE_CA_LIBS} ${EPICS_BASE_CAS_LIBS}
ldastools::framecpp
${CMAKE_THREAD_LIBS_INIT}
zmq
)
\ No newline at end of file
...@@ -54,6 +54,19 @@ ...@@ -54,6 +54,19 @@
/* Interface with the GDS Testpoint server */ /* Interface with the GDS Testpoint server */
#define GDS_TESTPOINTS 1 #define GDS_TESTPOINTS 1
#endif
/* DC build settings */
#ifdef DAQD_BUILD_DC_ZMQ
#define DATA_CONCENTRATOR 1
/* Using Symmetricom GPS card */
#define USE_SYMMETRICOM 1
/* run an ecdu */
#define EPICS_EDCU 1
/* Interface with the GDS Testpoint server */
#define GDS_TESTPOINTS 1
#endif #endif
#endif #endif
This diff is collapsed.
find_package(ZMQ4)
find_path(CATCH_PATH catch.hpp find_path(CATCH_PATH catch.hpp
HINTS /usr/include /usr/local/include ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) HINTS /usr/include /usr/local/include ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment