-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathCMakeLists.txt
65 lines (49 loc) · 2.66 KB
/
CMakeLists.txt
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
cmake_minimum_required(VERSION 3.12)
project(appfwk VERSION 3.2.0)
find_package(daq-cmake REQUIRED )
daq_setup_environment()
find_package(Boost COMPONENTS unit_test_framework program_options REQUIRED)
find_package(logging REQUIRED)
find_package(cetlib REQUIRED) # Uses the daq-buildtools/cmake/Findcetlib.cmake
find_package(ers REQUIRED)
find_package(cmdlib REQUIRED)
find_package(rcif REQUIRED)
find_package(iomanager REQUIRED)
find_package(opmonlib REQUIRED)
find_package(nlohmann_json REQUIRED )
find_package(Pistache REQUIRED)
find_package(okssystem REQUIRED)
find_package(conffwk REQUIRED)
find_package(confmodel REQUIRED)
find_package(appmodel REQUIRED)
set(APPFWK_DEPENDENCIES ${CETLIB} ${CETLIB_EXCEPT} ers::ers logging::logging cmdlib::cmdlib rcif::rcif iomanager::iomanager opmonlib::opmonlib nlohmann_json::nlohmann_json pistache_shared
confmodel::confmodel appmodel::appmodel conffwk::conffwk okssystem::okssystem)
find_package(oksdalgen REQUIRED)
daq_oks_codegen(appfwk.schema.xml TEST NAMESPACE dunedaq::appfwk::dal
DALDIR dal DEP_PKGS confmodel)
daq_codegen( cmd.jsonnet DEP_PKGS rcif cmdlib TEMPLATES Structs.hpp.j2 Nljs.hpp.j2 )
daq_protobuf_codegen( opmon/*.proto )
##############################################################################
# Main library
daq_add_library(Application.cpp DAQModule.cpp DAQModuleManager.cpp ConfigurationManager.cpp ModuleConfiguration.cpp
LINK_LIBRARIES ${APPFWK_DEPENDENCIES})
##############################################################################
# Plugins
daq_add_plugin(fileConfFacility duneConfFacility LINK_LIBRARIES ers::ers logging::logging nlohmann_json::nlohmann_json)
daq_add_plugin(dbConfFacility duneConfFacility LINK_LIBRARIES ers::ers logging::logging nlohmann_json::nlohmann_json pistache_shared)
# ##############################################################################
# Applications
daq_add_application( daq_application daq_application.cxx LINK_LIBRARIES appfwk )
# ##############################################################################
# Test plugins
daq_add_plugin( DummyModule duneDAQModule TEST LINK_LIBRARIES appfwk )
# Test applications
daq_add_application( dummy_module_test dummy_module_test.cxx TEST LINK_LIBRARIES appfwk )
# ##############################################################################
# Unit tests
daq_add_unit_test(Application_test LINK_LIBRARIES appfwk )
daq_add_unit_test(CommandLineInterpreter_test LINK_LIBRARIES appfwk )
daq_add_unit_test(DAQModuleManager_test LINK_LIBRARIES appfwk )
daq_add_unit_test(Interruptible_test LINK_LIBRARIES appfwk )
##############################################################################
daq_install()