From 8875552574378ff61ad6804d3e18841feddaddf8 Mon Sep 17 00:00:00 2001 From: Pavol Gono Date: Wed, 24 Sep 2025 17:32:53 +0200 Subject: [PATCH 1/2] Added option to not include zstd and zlib. --- CMakeLists.txt | 50 +++++++++++++++++++++---------------- cmake/OptionVariables.cmake | 1 + 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 78e0af04..6676ab60 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -347,24 +347,28 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) endif() else() include(FetchContent) - # First, dependencies: Zstd and zlib (currently relying on system zlib) - if(CPPTRACE_USE_EXTERNAL_ZSTD) - find_package(zstd) + if(CPPTRACE_ENABLE_DEBUG_DECOMPRESSION) + # First, dependencies: Zstd and zlib (currently relying on system zlib) + if(CPPTRACE_USE_EXTERNAL_ZSTD) + find_package(zstd) + else() + cmake_policy(SET CMP0074 NEW) + set(ZSTD_BUILD_PROGRAMS OFF) + set(ZSTD_BUILD_CONTRIB OFF) + set(ZSTD_BUILD_TESTS OFF) + set(ZSTD_BUILD_STATIC ON) + set(ZSTD_BUILD_SHARED OFF) + set(ZSTD_LEGACY_SUPPORT OFF) + FetchContent_Declare( + zstd + SOURCE_SUBDIR build/cmake + DOWNLOAD_EXTRACT_TIMESTAMP TRUE + URL "${CPPTRACE_ZSTD_URL}" + ) + FetchContent_MakeAvailable(zstd) + endif() else() - cmake_policy(SET CMP0074 NEW) - set(ZSTD_BUILD_PROGRAMS OFF) - set(ZSTD_BUILD_CONTRIB OFF) - set(ZSTD_BUILD_TESTS OFF) - set(ZSTD_BUILD_STATIC ON) - set(ZSTD_BUILD_SHARED OFF) - set(ZSTD_LEGACY_SUPPORT OFF) - FetchContent_Declare( - zstd - SOURCE_SUBDIR build/cmake - DOWNLOAD_EXTRACT_TIMESTAMP TRUE - URL "${CPPTRACE_ZSTD_URL}" - ) - FetchContent_MakeAvailable(zstd) + set(ENABLE_DECOMPRESSION FALSE) endif() # Libdwarf itself set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) @@ -377,11 +381,13 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) GIT_SHALLOW ${CPPTRACE_LIBDWARF_SHALLOW} ) FetchContent_MakeAvailable(libdwarf) - target_include_directories( - dwarf - PRIVATE - ${zstd_SOURCE_DIR}/lib - ) + if(CPPTRACE_ENABLE_DEBUG_DECOMPRESSION) + target_include_directories( + dwarf + PRIVATE + ${zstd_SOURCE_DIR}/lib + ) + endif() if(CPPTRACE_PROVIDE_EXPORT_SET_FOR_LIBDWARF) export( TARGETS dwarf diff --git a/cmake/OptionVariables.cmake b/cmake/OptionVariables.cmake index 417982bd..5ab2db04 100644 --- a/cmake/OptionVariables.cmake +++ b/cmake/OptionVariables.cmake @@ -171,6 +171,7 @@ endif() option(CPPTRACE_USE_EXTERNAL_LIBDWARF "" OFF) option(CPPTRACE_FIND_LIBDWARF_WITH_PKGCONFIG "" OFF) option(CPPTRACE_USE_EXTERNAL_ZSTD "" OFF) +option(CPPTRACE_ENABLE_DEBUG_DECOMPRESSION "" ON) option(CPPTRACE_CONAN "" OFF) option(CPPTRACE_VCPKG "" OFF) option(CPPTRACE_SANITIZER_BUILD "" OFF) From c5662c438a972998c7237d3ac74fb2765958fa48 Mon Sep 17 00:00:00 2001 From: Pavol Gono Date: Thu, 25 Sep 2025 08:02:00 +0200 Subject: [PATCH 2/2] More understandable option name --- CMakeLists.txt | 4 ++-- cmake/OptionVariables.cmake | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6676ab60..2a82654d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -347,7 +347,7 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) endif() else() include(FetchContent) - if(CPPTRACE_ENABLE_DEBUG_DECOMPRESSION) + if(CPPTRACE_ENABLE_LIBDWARF_COMPRESSION_SUPPORT) # First, dependencies: Zstd and zlib (currently relying on system zlib) if(CPPTRACE_USE_EXTERNAL_ZSTD) find_package(zstd) @@ -381,7 +381,7 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) GIT_SHALLOW ${CPPTRACE_LIBDWARF_SHALLOW} ) FetchContent_MakeAvailable(libdwarf) - if(CPPTRACE_ENABLE_DEBUG_DECOMPRESSION) + if(CPPTRACE_ENABLE_LIBDWARF_COMPRESSION_SUPPORT) target_include_directories( dwarf PRIVATE diff --git a/cmake/OptionVariables.cmake b/cmake/OptionVariables.cmake index 5ab2db04..92e2f0e6 100644 --- a/cmake/OptionVariables.cmake +++ b/cmake/OptionVariables.cmake @@ -171,7 +171,7 @@ endif() option(CPPTRACE_USE_EXTERNAL_LIBDWARF "" OFF) option(CPPTRACE_FIND_LIBDWARF_WITH_PKGCONFIG "" OFF) option(CPPTRACE_USE_EXTERNAL_ZSTD "" OFF) -option(CPPTRACE_ENABLE_DEBUG_DECOMPRESSION "" ON) +option(CPPTRACE_ENABLE_LIBDWARF_COMPRESSION_SUPPORT "" ON) option(CPPTRACE_CONAN "" OFF) option(CPPTRACE_VCPKG "" OFF) option(CPPTRACE_SANITIZER_BUILD "" OFF)