1+ include (GNUInstallDirs)
2+
3+ # RPC related types and stubs.
14add_subdirectory (proto)
25
3- include (GNUInstallDirs)
46
7+ # Domain types and methods for intercept artefacts.
58add_library (domain_a OBJECT
69 source /Domain.cc
710 source /Convert.cc
@@ -11,7 +14,7 @@ target_include_directories(domain_a PUBLIC source)
1114target_link_libraries (domain_a PUBLIC rpc_a)
1215
1316
14- # Create a static library, which is used for unit tests and the final shared library .
17+ # Intercept orchestrator code .
1518add_library (intercept_a OBJECT
1619 source /collect/Application.cc
1720 source /collect/EventsDatabase.cc
@@ -37,7 +40,8 @@ target_link_libraries(intercept_a PUBLIC result_a)
3740target_link_libraries (intercept_a PUBLIC spdlog::spdlog)
3841target_link_libraries (intercept_a PUBLIC PkgConfig::sqlite)
3942
40- # Create an executable from the sub projects.
43+
44+ # Intercept orchestrator executable.
4145add_executable (intercept
4246 source /collect/main.cc
4347 )
@@ -53,6 +57,7 @@ target_link_libraries(intercept exec_a)
5357install (TARGETS intercept
5458 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )
5559
60+
5661# Markdown file is the source to the man file. Please modify that and generate
5762# the man file from it with pandoc.
5863#
@@ -65,22 +70,38 @@ install(TARGETS intercept
6570install (FILES man/intercept.1
6671 DESTINATION ${CMAKE_INSTALL_MANDIR} /man1)
6772
68- add_executable (wrapper
73+
74+ # Intercept report sender code.
75+ add_library (wrapper_a OBJECT
6976 source /report/wrapper/EventFactory.cc
7077 source /report/wrapper/EventReporter.cc
7178 source /report/wrapper/RpcClients.cc
7279 source /report/wrapper/Application.cc
80+ )
81+
82+ target_include_directories (wrapper_a PUBLIC source /)
83+ target_link_libraries (wrapper_a PUBLIC domain_a)
84+ target_link_libraries (wrapper_a PUBLIC flags_a)
85+ target_link_libraries (wrapper_a PUBLIC main_a)
86+ target_link_libraries (wrapper_a PUBLIC result_a)
87+ target_link_libraries (wrapper_a PUBLIC sys_a)
88+ target_link_libraries (wrapper_a PUBLIC rpc_a)
89+ target_link_libraries (wrapper_a PUBLIC spdlog::spdlog)
90+
91+
92+ # Intercept report sender executable.
93+ add_executable (wrapper
7394 source /report/wrapper/main.cc
7495 )
7596
7697target_include_directories (wrapper PUBLIC source /)
98+ target_link_libraries (wrapper wrapper_a)
7799target_link_libraries (wrapper domain_a)
78100target_link_libraries (wrapper main_a)
79101target_link_libraries (wrapper flags_a)
80102target_link_libraries (wrapper result_a)
81103target_link_libraries (wrapper sys_a)
82104target_link_libraries (wrapper rpc_a)
83- target_link_libraries (wrapper spdlog::spdlog)
84105
85106install (TARGETS wrapper
86107 RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR} )
@@ -123,6 +144,8 @@ install(CODE "
123144 )
124145" )
125146
147+
148+ # Execution interceptor code.
126149add_library (exec_a OBJECT
127150 source /report/libexec/Buffer.cc
128151 source /report/libexec/Environment .cc
@@ -141,7 +164,8 @@ set_target_properties(exec_a PROPERTIES
141164 LINKER_LANGUAGE "C"
142165 POSITION_INDEPENDENT_CODE 1)
143166
144- # Create a shared library from the sub projects.
167+
168+ # Execution interceptor shared library.
145169add_library (exec SHARED
146170 source /report/libexec/lib.cc
147171 source /report/libexec/std.cc
@@ -165,6 +189,7 @@ endif ()
165189install (TARGETS exec
166190 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBEXECDIR} )
167191
192+
168193# Create unit test.
169194if (ENABLE_UNIT_TESTS)
170195 add_executable (exec_unit_test
@@ -182,6 +207,7 @@ if (ENABLE_UNIT_TESTS)
182207 add_test (NAME bear::exec_unit_test COMMAND $<TARGET_FILE:exec_unit_test>)
183208
184209 add_executable (intercept_unit_test
210+ test /EventFactoryTest.cc
185211 test /SessionTest.cc
186212 test /ThreadSafeQueueTest.cc
187213 )
@@ -190,6 +216,7 @@ if (ENABLE_UNIT_TESTS)
190216 target_link_libraries (intercept_unit_test main_a)
191217 target_link_libraries (intercept_unit_test exec_a)
192218 target_link_libraries (intercept_unit_test intercept_a)
219+ target_link_libraries (intercept_unit_test wrapper_a)
193220 target_link_libraries (intercept_unit_test rpc_a)
194221 target_link_libraries (intercept_unit_test sys_a)
195222 target_link_libraries (intercept_unit_test flags_a)
0 commit comments