forked from DUNE-DAQ/datafilter
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
70 lines (56 loc) · 4.99 KB
/
Copy pathCMakeLists.txt
File metadata and controls
70 lines (56 loc) · 4.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
project(datafilter VERSION 0.2.0)
find_package(daq-cmake REQUIRED)
daq_setup_environment()
include_directories(pybind11_json/include)
include_directories(pybind11/include)
find_package(logging REQUIRED)
find_package(ers REQUIRED)
find_package(appfwk REQUIRED)
find_package(HighFive REQUIRED)
find_package(daqdataformats REQUIRED)
find_package(detdataformats REQUIRED)
find_package(fddetdataformats REQUIRED)
find_package(detchannelmaps REQUIRED)
find_package(hdf5libs REQUIRED)
find_package(dfmodules REQUIRED)
find_package(dfmessages REQUIRED)
find_package(iomanager REQUIRED)
find_package(nlohmann_json REQUIRED)
find_package(cetlib REQUIRED) # Uses the daq-buildtools/cmake/Findcetlib.cmake
find_package(opmonlib REQUIRED)
find_package(serialization REQUIRED)
find_package(okssystem REQUIRED)
find_package(conffwk REQUIRED)
find_package(Boost COMPONENTS iostreams unit_test_framework REQUIRED)
#find_package(pybind11_json ${pybind11_json_REQUIRED_VERSION} REQUIRED)
include_directories(src/exts/nlohmann_json/include)
# daq_codegen( app.jsonnet DEP_PKGS iomanager TEMPLATES Structs.hpp.j2 Nljs.hpp.j2 )
# daq_codegen( appinfo.jsonnet DEP_PKGS opmonlib TEMPLATES opmonlib/InfoStructs.hpp.j2 opmonlib/InfoNljs.hpp.j2 )
# See https://dune-daq-sw.readthedocs.io/en/latest/packages/daq-cmake/#daq_protobuf_codegen
daq_protobuf_codegen(opmon/*.proto)
daq_add_dal_library(datafilter.schema.xml NAMESPACE dunedaq::datafilter::dal DALDIR dal DEP_PKGS confmodel)
##############################################################################
# Main library
# daq_add_library (*.cpp LINK_LIBRARIES stdc++fs ers::ers HighFive hdf5libs dfmodules dfmessages::dfmessages daqdataformats::daqdataformats detdataformats::detdataformats \\
# fddetdataformats::fddetdataformats detchannelmaps::detchannelmaps iomanager::iomanager opmonlib::opmonlib logging::logging nlohmann_json::nlohmann_json ${CETLIB} ${CETLIB_EXCEPT})
daq_add_library (*.cpp LINK_LIBRARIES opmonlib::opmonlib stdc++fs ers::ers HighFive hdf5libs dfmodules::dfmodules daqdataformats::daqdataformats detdataformats::detdataformats \\
fddetdataformats::fddetdataformats detchannelmaps::detchannelmaps iomanager::iomanager logging::logging nlohmann_json::nlohmann_json ${CETLIB} ${CETLIB_EXCEPT})
##############################################################################
##############################################################################
# See https://dune-daq-sw.readthedocs.io/en/latest/packages/daq-cmake/#daq_add_plugin
daq_add_plugin(DataFilter duneDAQModule LINK_LIBRARIES dfmessages::dfmessages datafilter datafilter_dal appfwk::appfwk hdf5libs::hdf5libs) # The appfwk library is needed for DAQModule base class
#daq_add_plugin(DataFilterBuffered duneDAQModule LINK_LIBRARIES dfmessages::dfmessages datafilter datafilter_dal appfwk::appfwk hdf5libs::hdf5libs)
daq_add_plugin(TRDispatcher duneDAQModule LINK_LIBRARIES dfmessages::dfmessages datafilter datafilter_dal appfwk::appfwk hdf5libs::hdf5libs) # The appfwk library is needed for DAQModule base class
daq_add_plugin(FilterOrchestrator duneDAQModule LINK_LIBRARIES datafilter datafilter_dal appfwk::appfwk) # The appfwk library is needed for DAQModule base class
daq_add_plugin(FilterResultWriter duneDAQModule LINK_LIBRARIES datafilter datafilter_dal appfwk::appfwk) # The appfwk library is needed for DAQModule base class
#daq_add_plugin(DummyModule2 duneDAQModule LINK_LIBRARIES datafilter appfwk::appfwk )
##############################################################################
# Applications
daq_add_application(trdispatcher trdispatcher.cxx LINK_LIBRARIES appfwk::appfwk okssystem::okssystem conffwk::conffwk iomanager::iomanager dfmessages::dfmessages rcif::rcif hdf5libs::hdf5libs logging::logging nlohmann_json::nlohmann_json)
daq_add_application(filterorchestrator filterorchestrator.cxx LINK_LIBRARIES appfwk::appfwk okssystem::okssystem conffwk::conffwk iomanager::iomanager hdf5libs::hdf5libs logging::logging nlohmann_json::nlohmann_json)
daq_add_application(filterresultwriter filterresultwriter.cxx LINK_LIBRARIES appfwk::appfwk okssystem::okssystem conffwk::conffwk iomanager::iomanager dfmessages::dfmessages rcif::rcif hdf5libs::hdf5libs logging::logging nlohmann_json::nlohmann_json)
daq_add_application(datafilter2 datafilter.cxx LINK_LIBRARIES appfwk::appfwk okssystem::okssystem conffwk::conffwk iomanager::iomanager dfmessages::dfmessages rcif::rcif hdf5libs::hdf5libs logging::logging nlohmann_json::nlohmann_json)
#daq_add_application(datafilterbuffered datafilterbuffered.cxx LINK_LIBRARIES appfwk::appfwk okssystem::okssystem conffwk::conffwk iomanager::iomanager dfmessages::dfmessages rcif::rcif hdf5libs::hdf5libs logging::logging nlohmann_json::nlohmann_json)
# daq_add_application(test_oks test_oks.cxx LINK_LIBRARIES appfwk::appfwk okssystem::okssystem conffwk::conffwk iomanager::iomanager dfmessages::dfmessages rcif::rcif hdf5libs::hdf5libs logging::logging nlohmann_json::nlohmann_json)
daq_install()