From f773961cda69ecc5334013dc82734f29f3459d2e Mon Sep 17 00:00:00 2001 From: Sebastian Kloska Date: Fri, 8 Nov 2019 10:41:08 +0100 Subject: 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 --- src/system/CMakeLists.txt | 28 +++++++++++++++++++--------- src/system/dlt-system-process-handling.c | 2 ++ 2 files changed, 21 insertions(+), 9 deletions(-) (limited to 'src/system') 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"); -- cgit v1.2.1