From 5ca800c65fba4738dedf85058fef2eca3251fe18 Mon Sep 17 00:00:00 2001 From: Linus Probert Date: Wed, 19 Apr 2023 11:28:50 +0200 Subject: logstorage: Adds option to write logs in gzip format (#442) * logstorage: Adds option to write logs in gzip format Adds functionality to allow storing offline logs in gzipped files instead of standard dlt files. * Ensure tests run safely with or without GZIP compression enabled * Enforce minimum version of zlib if enabling gzip compression --- CMakeLists.txt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index a47a782..7ce050b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,6 +84,7 @@ option(WITH_DLT_PKGCONFIG "Set to ON to generate pkgconfig .pc files" option(WITH_DLT_CXX11_EXT "Set to ON to build C++11 extensions" OFF) option(WITH_DLT_COREDUMPHANDLER "EXPERIMENTAL! Set to ON to build src/core_dump_handler binaries. EXPERIMENTAL" OFF) option(WITH_DLT_LOGSTORAGE_CTRL_UDEV "PROTOTYPE! Set to ON to build logstorage control application with udev support" OFF) +option(WITH_DLT_LOGSTORAGE_GZIP "Set to ON to build logstorage control application with gzip compression support" OFF) option(WITH_DLT_USE_IPv6 "Set to ON for IPv6 support" ON) option(WITH_DLT_KPI "Set to ON to build src/kpi binaries" OFF) option(WITH_DLT_FATAL_LOG_TRAP "Set to ON to enable DLT_LOG_FATAL trap(trigger segv inside dlt-user library)" OFF) @@ -104,7 +105,10 @@ set(LICENSE "Mozilla Public License Version 2.0") # Build, project and include settings find_package(Threads REQUIRED) -if(WITH_DLT_COREDUMPHANDLER OR WITH_DLT_FILETRANSFER) +if(WITH_DLT_LOGSTORAGE_GZIP) + set(ZLIB_LIBRARY "-lz") + find_package(ZLIB 1.2.9 REQUIRED) +elseif(WITH_DLT_COREDUMPHANDLER OR WITH_DLT_FILETRANSFER) set(ZLIB_LIBRARY "-lz") find_package(ZLIB REQUIRED) else() @@ -177,6 +181,10 @@ if (WITH_DLT_FILE_LOGGING_SYSLOG_FALLBACK) add_definitions(-DWITH_DLT_FILE_LOGGING_SYSLOG_FALLBACK) endif() +if (WITH_DLT_LOGSTORAGE_GZIP) + add_definitions(-DDLT_LOGSTORAGE_USE_GZIP) +endif() + if(WITH_GPROF) add_compile_options(-pg) endif() @@ -344,6 +352,7 @@ message(STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}") message(STATUS "CMAKE_HOST_SYSTEM_PROCESSOR = ${CMAKE_HOST_SYSTEM_PROCESSOR}") message(STATUS "CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR}") message(STATUS "WITH_DLT_LOGSTORAGE_CTRL_UDEV = ${WITH_DLT_LOGSTORAGE_CTRL_UDEV}") +message(STATUS "WITH_DLT_LOGSTORAGE_GZIP = ${WITH_DLT_LOGSTORAGE_GZIP}") message(STATUS "DLT_IPC = ${DLT_IPC}(Path: ${DLT_USER_IPC_PATH})") message(STATUS "WITH_DLT_DAEMON_VSOCK_IPC = ${WITH_DLT_DAEMON_VSOCK_IPC}") message(STATUS "WITH_DLT_LIB_VSOCK_IPC = ${WITH_DLT_LIB_VSOCK_IPC}") -- cgit v1.2.1