summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorChristian Muck <christian.muck@bmw.de>2012-05-30 15:50:56 +0200
committerChristian Muck <christian.muck@bmw.de>2012-06-13 23:52:49 +0200
commitf211c63925ea6d03cc1036b5e11061ec82d92ef8 (patch)
treec657ec5bfe3714206c77e773f792fe146b075eba /CMakeLists.txt
parentbea4e475456745f444e2451415366d0e283f835c (diff)
downloadDLT-daemon-f211c63925ea6d03cc1036b5e11061ec82d92ef8.tar.gz
[GDLT-90] Implemented systemd watchdog concept
Signed-off-by: Christian Muck <christian.muck@bmw.de>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt58
1 files changed, 37 insertions, 21 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7bebbaa..eba6689 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -50,14 +50,15 @@ endif(NOT CMAKE_BUILD_TYPE)
# Set of indiviual options
option(BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON )
-option(WITH_DLT_SHM_ENABLE "Set to OFF to use FIFO as IPC from user to daemon" OFF )
+option(WITH_DLT_SHM_ENABLE "Set to ON to use shared memory as IPC - experimental" OFF )
option(WITH_DOC "Set to ON to build documentation target" OFF )
-option(WITH_MAN "Set to OFF to skip building of man pages" ON )
+option(WITH_MAN "Set to ON to build man pages" OFF )
option(WITH_CHECK_CONFIG_FILE "Set to ON to create a configure file of CheckIncludeFiles and CheckFunctionExists " OFF )
option(WITH_TESTSCRIPTS "Set to ON to run CMakeLists.txt in testscripts" OFF )
-option(WITH_SYSTEMD "Set to ON to run CMakeLists.txt in systemd" OFF )
+option(WITH_SYSTEMD "Set to ON to create unit files and systemd check on dlt-daemon startup" OFF )
+option(WITH_SYSTEMD_WATCHDOG "Set to ON to use the systemd watchdog in dlt-daemon" ON)
option(WITH_GPROF "Set -pg to compile flags" OFF )
-option(WITH_DLTTEST "Set to ON to build with modifications to test Uuser-Daemon communication with corrupt messages" OFF)
+option(WITH_DLTTEST "Set to ON to build with modifications to test User-Daemon communication with corrupt messages" OFF)
# RPM settings
set( GENIVI_RPM_RELEASE "1")#${DLT_REVISION}")
@@ -72,8 +73,11 @@ include_directories(
${CMAKE_SOURCE_DIR}/src/shared/
${CMAKE_SOURCE_DIR}/src/lib/
${CMAKE_SOURCE_DIR}/src/daemon/
+ ${CMAKE_SOURCE_DIR}/systemd/3rdparty/
)
+add_definitions( -D_GNU_SOURCE )
+
if(WITH_DLTTEST)
add_definitions( -DDLT_TEST_ENABLE)
endif(WITH_DLTTEST)
@@ -81,27 +85,49 @@ endif(WITH_DLTTEST)
if(WITH_DLT_SHM_ENABLE)
add_definitions( -DDLT_SHM_ENABLE)
endif(WITH_DLT_SHM_ENABLE)
-
-add_definitions( -D_GNU_SOURCE )
-
+
if(WITH_GPROF)
SET(CMAKE_C_FLAGS "-pg")
-endif(WITH_GPROF)
+endif(WITH_GPROF)
add_definitions( "-Wall" )
+configure_file(${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.spec.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.spec)
+configure_file(${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY)
+install(FILES ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig COMPONENT devel)
+
add_subdirectory( cmake )
+if(WITH_SYSTEMD OR WITH_SYSTEMD_WATCHDOG)
+ if(WITH_SYSTEMD)
+ add_definitions( -DDLT_SYSTEMD_ENABLE)
+ endif(WITH_SYSTEMD)
+
+ if(WITH_SYSTEMD_WATCHDOG)
+ add_definitions( -DDLT_SYSTEMD_WATCHDOG_ENABLE)
+ endif(WITH_SYSTEMD_WATCHDOG)
+
+ set( systemd_SRCS ${CMAKE_SOURCE_DIR}/systemd/3rdparty/sd-daemon.c)
+
+ add_subdirectory( systemd )
+endif(WITH_SYSTEMD OR WITH_SYSTEMD_WATCHDOG)
+
+add_subdirectory( doc )
+add_subdirectory( src )
+add_subdirectory( include )
+add_subdirectory( testscripts )
+
message( STATUS )
message( STATUS "-------------------------------------------------------------------------------" )
message( STATUS "Build for Version ${DLT_VERSION} build ${DLT_REVISION} version state ${DLT_VERSION_STATE}")
+message( STATUS "WITH_SYSTEMD = ${WITH_SYSTEMD}" )
+message( STATUS "WITH_SYSTEMD_WATCHDOG = ${WITH_SYSTEMD_WATCHDOG}" )
+message( STATUS "WITH_DOC = ${WITH_DOC}" )
+message( STATUS "WITH_MAN = ${WITH_MAN}" )
message( STATUS "WITH_DLT_SHM_ENABLE = ${WITH_DLT_SHM_ENABLE}" )
message( STATUS "WITH_CHECK_CONFIG_FILE = ${WITH_CHECK_CONFIG_FILE}" )
-message( STATUS "WITH_DOC = ${WITH_DOC}" )
message( STATUS "WITH_TESTSCRIPTS = ${WITH_TESTSCRIPTS}" )
-message( STATUS "WITH_SYSTEMD = ${WITH_SYSTEMD}" )
message( STATUS "WITH_GPROF = ${WITH_GPROF}" )
-message( STATUS "WITH_MAN = ${WITH_MAN}" )
message( STATUS "WITH_DLTTEST = ${WITH_DLTTEST}" )
message( STATUS "BUILD_SHARED_LIBS = ${BUILD_SHARED_LIBS}" )
message( STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" )
@@ -109,13 +135,3 @@ message( STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}" )
message( STATUS "Change a value with: cmake -D<Variable>=<Value>" )
message( STATUS "-------------------------------------------------------------------------------" )
message( STATUS )
-
-configure_file(${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.spec.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.spec)
-configure_file(${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY)
-install(FILES ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig COMPONENT devel)
-
-add_subdirectory( doc )
-add_subdirectory( src )
-add_subdirectory( include )
-add_subdirectory( testscripts )
-add_subdirectory( systemd )