diff options
author | Christian Mueller <christian.ei.mueller@bmw.de> | 2012-05-21 19:00:35 +0200 |
---|---|---|
committer | christian mueller <christian.ei.mueller@bmw.de> | 2012-05-24 13:40:23 +0200 |
commit | 3f65139b2825e654dd0cc36d1cee055b7ac959d9 (patch) | |
tree | f9baf9833b8da138428c7ee295f6af7953c7085f /AudioManagerDaemon/CMakeLists.txt | |
parent | a572fc87a811563f62b88116de699f803915383e (diff) | |
download | audiomanager-3f65139b2825e654dd0cc36d1cee055b7ac959d9.tar.gz |
* [GAM-24] Watchdog concept for the AudioManager. This patch introduces the watchdog functionality of the AudioManager. The function is based on the systemd watchdog functionality. The desired time intervals for checking the watchdog can be tweaked by the unit file for systemd. A sample unit file is added to the subdirectory cmake. Via Cmake build option, the watchdog functionality can be switched off.
If the development package from systemd is available it will use the lib that comes with it. If not, the default handler will be compiled along with the audiomanager and this one will be used.
Signed-off-by: Christian Mueller <christian.ei.mueller@bmw.de>
Diffstat (limited to 'AudioManagerDaemon/CMakeLists.txt')
-rw-r--r-- | AudioManagerDaemon/CMakeLists.txt | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/AudioManagerDaemon/CMakeLists.txt b/AudioManagerDaemon/CMakeLists.txt index 4620db4..50a6969 100644 --- a/AudioManagerDaemon/CMakeLists.txt +++ b/AudioManagerDaemon/CMakeLists.txt @@ -27,6 +27,15 @@ set(INCLUDE_FOLDER "include") pkg_check_modules(SQLITE REQUIRED sqlite3) +IF (WITH_SYSTEMD_WATCHDOG) + pkg_check_modules(SYSTEMD libsystemd-daemon) + IF (SYSTEMD_FOUND) + message(STATUS "Found libsystemd-daemon") + ELSE (SYSTEMD_FOUND) + message(STATUS "Did not find libsystemd-daemon, using own lib") + ENDIF(SYSTEMD_FOUND) +ENDIF (WITH_SYSTEMD_WATCHDOG) + IF(WITH_DBUS_WRAPPER) FIND_PACKAGE(DBUS REQUIRED) ENDIF(WITH_DBUS_WRAPPER) @@ -46,8 +55,16 @@ SET(AUDIOMAN_SRCS_CXX src/CAmRouter.cpp src/CAmDltWrapper.cpp src/CAmTelnetMenuHelper.cpp + src/CAmWatchdog.cpp ) +IF (NOT SYSTEMD_FOUND) + SET (AUDIOMAN_SRCS_CXX + ${AUDIOMAN_SRCS_CXX} + src/sd-daemon.c + ) +ENDIF (NOT SYSTEMD_FOUND) + IF(WITH_DBUS_WRAPPER) SET (AUDIOMAN_SRCS_CXX ${AUDIOMAN_SRCS_CXX} @@ -90,19 +107,27 @@ IF(WITH_DBUS_WRAPPER) ${SQLITE_LIBRARIES} ${CMAKE_DL_LIBS} ${DBUS_LIBRARY} + rt ) ELSE(WITH_DBUS_WRAPPER) TARGET_LINK_LIBRARIES(AudioManager ${SQLITE_LIBRARIES} ${CMAKE_DL_LIBS} + rt ) ENDIF(WITH_DBUS_WRAPPER) IF(WITH_DLT) TARGET_LINK_LIBRARIES(AudioManager - ${DLT_LIBRARIES} + ${DLT_LIBRARIES} ) -ENDIF(WITH_DLT) +ENDIF(WITH_DLT) + +IF (SYSTEMD_FOUND) + TARGET_LINK_LIBRARIES(AudioManager + ${SYSTEMD_LIBRARIES} + ) +ENDIF (SYSTEMD_FOUND) IF(WITH_TESTS) add_subdirectory (test) |