summaryrefslogtreecommitdiff
path: root/src/system
diff options
context:
space:
mode:
authorSebastian Kloska <sebastian.kloska@snafu.de>2019-11-08 10:41:08 +0100
committerSaya Sugiura <39760799+ssugiura@users.noreply.github.com>2019-11-08 18:41:08 +0900
commitf773961cda69ecc5334013dc82734f29f3459d2e (patch)
tree8ffe1315a641b821332a5246b324cd29fb227add /src/system
parent9011106fdaf5f66c232da371e426c52010771cbd (diff)
downloadDLT-daemon-f773961cda69ecc5334013dc82734f29f3459d2e.tar.gz
Improvement: Make ZLib dependency optional (#182)
* New CMake option WITH_DLT_FILETRANSFER * Only request ZLIB package if WITH_DLT_COREDUMPHANDLER==ON or WITH_DLT_FILETRANSFER==ON Signed-off-by: Sebastian Kloska <sebastian.kloska@snafu.de>
Diffstat (limited to 'src/system')
-rw-r--r--src/system/CMakeLists.txt28
-rw-r--r--src/system/dlt-system-process-handling.c2
2 files changed, 21 insertions, 9 deletions
diff --git a/src/system/CMakeLists.txt b/src/system/CMakeLists.txt
index 7de07ef..a0b9bf0 100644
--- a/src/system/CMakeLists.txt
+++ b/src/system/CMakeLists.txt
@@ -18,20 +18,30 @@ if(WITH_SYSTEMD_WATCHDOG OR WITH_SYSTEMD OR WITH_SYSTEMD_JOURNAL)
endif(WITH_SYSTEMD_WATCHDOG OR WITH_SYSTEMD OR WITH_SYSTEMD_JOURNAL)
set(dlt_system_SRCS dlt-system.c dlt-system-options.c dlt-system-process-handling.c
- dlt-system-filetransfer.c dlt-system-logfile.c dlt-system-processes.c dlt-system-shell.c
- dlt-system-syslog.c dlt-system-watchdog.c dlt-system-journal.c)
+ dlt-system-logfile.c dlt-system-processes.c dlt-system-shell.c
+ dlt-system-syslog.c dlt-system-watchdog.c dlt-system-journal.c)
+
+if(WITH_DLT_FILETRANSFER)
+ set(dlt_system_SRCS ${dlt_system_SRCS} dlt-system-filetransfer.c)
+ add_definitions(-DDLT_FILETRANSFER_ENABLE)
+endif(WITH_DLT_FILETRANSFER)
+
add_executable(dlt-system ${dlt_system_SRCS} ${systemd_SRCS})
+target_link_libraries(dlt-system dlt)
+
if(WITH_SYSTEMD_JOURNAL)
- if(SYSTEMD_VERSION LESS 209)
- target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES} systemd-journal systemd-id128)
- else(SYSTEMD_VERSION LESS 209)
- target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES} systemd)
- endif(SYSTEMD_VERSION LESS 209)
-else(WITH_SYSTEMD_JOURNAL)
- target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES})
+ if(SYSTEMD_VERSION LESS 209)
+ target_link_libraries(dlt-system systemd-journal systemd-id128)
+ else(SYSTEMD_VERSION LESS 209)
+ target_link_libraries(dlt-system systemd)
+ endif(SYSTEMD_VERSION LESS 209)
endif(WITH_SYSTEMD_JOURNAL)
+if(WITH_DLT_FILETRANSFER)
+ target_link_libraries(dlt-system ${ZLIB_LIBRARY})
+endif(WITH_DLT_FILETRANSFER)
+
set_target_properties(dlt-system PROPERTIES LINKER_LANGUAGE C)
diff --git a/src/system/dlt-system-process-handling.c b/src/system/dlt-system-process-handling.c
index af6ba66..eb310b0 100644
--- a/src/system/dlt-system-process-handling.c
+++ b/src/system/dlt-system-process-handling.c
@@ -128,8 +128,10 @@ void start_threads(DltSystemConfiguration *config)
if (config->LogFile.Enable)
start_thread(config, logfile_thread, "log file");
+#if defined(DLT_FILETRANSFER_ENABLE)
if (config->Filetransfer.Enable)
start_thread(config, filetransfer_thread, "file transfer");
+#endif
if (config->LogProcesses.Enable)
start_thread(config, logprocess_thread, "log process");