33####################################
44
55# cmake settings
6- CMAKE_MINIMUM_REQUIRED (VERSION 3.8 .0 FATAL_ERROR)
6+ CMAKE_MINIMUM_REQUIRED (VERSION 3.17 .0 FATAL_ERROR)
77cmake_policy (VERSION ${CMAKE_MAJOR_VERSION} .${CMAKE_MINOR_VERSION} )
88
99# define project
@@ -50,7 +50,7 @@ find_package(SWIG 3.0.12)
5050# flag to build only client library
5151#set(INFOLOGGER_BUILD_LIBONLY 1)
5252if (INFOLOGGER_BUILD_LIBONLY)
53- message ("Enabling libInfologger only." )
53+ message ("Enabling library only." )
5454else ()
5555 message ("Enabling all InfoLogger modules." )
5656endif ()
@@ -137,7 +137,7 @@ add_library (InfoLogger SHARED
137137 ${INFOLOGGER_LIB_OBJECTS}
138138)
139139set_target_properties (InfoLogger PROPERTIES
140- OUTPUT_NAME InfoLogger
140+ OUTPUT_NAME O2Infologger
141141)
142142target_include_directories (InfoLogger
143143 INTERFACE
@@ -193,7 +193,7 @@ add_library (libInfoLogger-static STATIC
193193 ${INFOLOGGER_LIB_OBJECTS}
194194)
195195set_target_properties (libInfoLogger-static PROPERTIES
196- OUTPUT_NAME InfoLogger
196+ OUTPUT_NAME O2Infologger
197197)
198198target_include_directories (libInfoLogger-static
199199 INTERFACE
@@ -205,35 +205,35 @@ target_link_libraries(libInfoLogger-static pthread)
205205
206206# executable: log (command line tool to inject log messages)
207207add_executable (
208- log
208+ o2-infologger- log
209209 src/log .cxx
210210)
211211target_link_libraries (
212- log
212+ o2-infologger- log
213213 libInfoLogger-static
214214)
215215target_include_directories (
216- log
216+ o2-infologger- log
217217 PRIVATE
218218 ${COMMON_STANDALONE_INCLUDE_DIRS}
219219)
220220
221221
222222# executable: infoLoggerD
223223add_executable (
224- infoLoggerD
224+ o2-infologger-daemon
225225 src/infoLoggerD.cxx
226226 $<TARGET_OBJECTS:objInfoLoggerTransport>
227227 $<TARGET_OBJECTS:objCommonConfiguration>
228228 $<TARGET_OBJECTS:objCommonSimpleLog>
229229 $<TARGET_OBJECTS:objCommonDaemon>
230230)
231231target_link_libraries (
232- infoLoggerD
232+ o2-infologger-daemon
233233 pthread
234234)
235235target_include_directories (
236- infoLoggerD
236+ o2-infologger-daemon
237237 PRIVATE
238238 ${COMMON_STANDALONE_INCLUDE_DIRS}
239239)
@@ -244,7 +244,7 @@ if(MYSQL_FOUND)
244244 add_definitions (-DWITH_MYSQL)
245245endif ()
246246add_executable (
247- infoLoggerServer
247+ o2-infologger-server
248248 $<TARGET_OBJECTS:objInfoLoggerTransport>
249249 $<TARGET_OBJECTS:objCommonConfiguration>
250250 $<TARGET_OBJECTS:objCommonSimpleLog>
@@ -262,34 +262,34 @@ add_executable(
262262 $<$<BOOL :${MYSQL_FOUND} >:src/InfoLoggerDispatchSQL.cxx>
263263)
264264target_include_directories (
265- infoLoggerServer
265+ o2-infologger-server
266266 PRIVATE
267267 ${INFOLOGGER_INCLUDE_DIRS_PUBLIC}
268268 ${COMMON_STANDALONE_INCLUDE_DIRS}
269269 ${MYSQL_INCLUDE_DIRS}
270270)
271271target_link_libraries (
272- infoLoggerServer
272+ o2-infologger-server
273273 pthread
274274 ${MYSQL_LIBRARIES}
275275)
276276
277277
278278# executable: infoLoggerAdminDB
279279add_executable (
280- infoLoggerAdminDB
280+ o2-infologger-admindb
281281 $<TARGET_OBJECTS:objCommonConfiguration>
282282 $<TARGET_OBJECTS:objCommonSimpleLog>
283283 src/infoLoggerAdminDB.cxx
284284)
285285target_include_directories (
286- infoLoggerAdminDB
286+ o2-infologger-admindb
287287 PRIVATE
288288 ${COMMON_STANDALONE_INCLUDE_DIRS}
289289 ${MYSQL_INCLUDE_DIRS}
290290)
291291target_link_libraries (
292- infoLoggerAdminDB
292+ o2-infologger-admindb
293293 ${MYSQL_LIBRARIES}
294294)
295295
@@ -386,28 +386,31 @@ set(TEST_SRCS
386386 test /testInfoLogger.c
387387 test /testInfoLogger.cxx
388388 test /testInfoLoggerPerf.cxx
389- test /testInfoLoggerDB.cxx
389+ test /testInfoLoggerDB.cxx
390390)
391- foreach (f ${TEST_SRCS} )
392- get_filename_component (test_name ${f} NAME )
393- string (REGEX REPLACE ".cxx" "" test_name ${test_name} )
394- set (exe "${test_name} .exe" )
395- message ("${exe} " )
391+ set (TEST_EXES
392+ libc
393+ lib
394+ perf
395+ db
396+ )
397+ foreach (f n IN ZIP_LISTS TEST_SRCS TEST_EXES)
398+ set (exe "o2-infologger-test-${n} " )
396399 add_executable (${exe} ${f} ${INFOLOGGER_LIB_OBJECTS} )
397400 target_link_libraries (${exe} InfoLogger)
398401 target_include_directories (${exe} PRIVATE ${COMMON_STANDALONE_INCLUDE_DIRS} src)
399- add_test (NAME ${test_name} COMMAND ${exe} )
402+ add_test (NAME "test- ${n} " COMMAND ${exe} )
400403endforeach ()
401404
402405target_include_directories (
403- testInfoLoggerDB.exe
406+ o2-infologger- test -db
404407 PRIVATE
405408 ${INFOLOGGER_INCLUDE_DIRS_PUBLIC}
406409 ${COMMON_STANDALONE_INCLUDE_DIRS}
407410 ${MYSQL_INCLUDE_DIRS}
408411)
409412target_link_libraries (
410- testInfoLoggerDB.exe
413+ o2-infologger- test -db
411414 pthread
412415 ${MYSQL_LIBRARIES}
413416)
@@ -422,7 +425,7 @@ endif()
422425
423426
424427# Install
425- set (INSTALL_TARGETS log infoLoggerD infoLoggerServer infoLoggerAdminDB libInfoLogger-static )
428+ set (INSTALL_TARGETS o2-infologger- log o2-infologger-daemon o2-infologger-server o2-infologger-admindb libInfoLogger-static )
426429
427430# Install has undefined behavior for properties with EXLUDE_FROM_ALL property set
428431# Here we want to skip such targets
@@ -433,9 +436,23 @@ foreach (t ${INSTALL_TARGETS})
433436 endif ()
434437endforeach ()
435438
436- install (PROGRAMS src/infoBrowser.tcl DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME infoBrowser)
437- install (PROGRAMS src/infoLoggerTester.tcl DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME infoLoggerTester)
438- install (PROGRAMS newMysql.sh DESTINATION ${CMAKE_INSTALL_BINDIR} )
439+ install (PROGRAMS src/infoBrowser.tcl DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME o2-infologger-browser)
440+ install (PROGRAMS src/infoLoggerTester.tcl DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME o2-infologger-tester)
441+ install (PROGRAMS newMysql.sh DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME o2-infologger-newdb)
442+
443+ # service files
444+ set (SERVICE_SRCS infoLoggerD.service infoLoggerServer.service)
445+ set (SERVICE_NAMES o2-infologger-daemon.service o2-infologger-server.service)
446+ foreach (f n IN ZIP_LISTS SERVICE_SRCS SERVICE_NAMES)
447+ install (FILES ${f} DESTINATION ${CMAKE_INSTALL_PREFIX} /etc/o2.d/infologger/systemd/ RENAME ${n} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
448+ endforeach ()
449+
450+ # sample config files
451+ FILE (GLOB CFG_FILES *.cfg)
452+ foreach (f ${CFG_FILES} )
453+ install (FILES ${f} DESTINATION ${CMAKE_INSTALL_PREFIX} /etc/o2.d/infologger/ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
454+ endforeach ()
455+
439456
440457#####################################
441458endif ()
0 commit comments