summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon/CMakeLists.txt
diff options
context:
space:
mode:
authorChristian Mueller <christian.ei.mueller@bmw.de>2012-05-21 19:00:35 +0200
committerchristian mueller <christian.ei.mueller@bmw.de>2012-05-24 13:40:23 +0200
commit3f65139b2825e654dd0cc36d1cee055b7ac959d9 (patch)
treef9baf9833b8da138428c7ee295f6af7953c7085f /AudioManagerDaemon/CMakeLists.txt
parenta572fc87a811563f62b88116de699f803915383e (diff)
downloadaudiomanager-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.txt29
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)