Make libunwind opt-in at build time instead of auto-enabled. (#19393)
Austin S. Hemmelgarn committed
Jan 14, 2025 at 04:26 UTC
5f09bec332918628968509dc5b453db7ded89c56
1 file changed
+14
-8
CMakeLists.txt
+14
-8
@@ -205,6 +205,8 @@ mark_as_advanced(ENABLE_SENTRY)
205
option(BUILD_FOR_PACKAGING "Include component files for native packages" False)
206
mark_as_advanced(BUILD_FOR_PACKAGING)
207
208
+option(ENABLE_LIBUNWIND "Include stack traces in log output" False)
209
+
210
cmake_dependent_option(FORCE_LEGACY_LIBBPF "Force usage of libbpf 0.0.9 instead of the latest version." False "ENABLE_PLUGIN_EBPF" False)
211
mark_as_advanced(FORCE_LEGACY_LIBBPF)
212
@@ -2115,22 +2117,26 @@ netdata_add_jsonc_to_target(libnetdata)
2117
netdata_add_libyaml_to_target(libnetdata)
2118
2119
# libunwind
2118
-pkg_check_modules(LIBUNWIND libunwind IMPORTED_TARGET)
2119
-if(TARGET PkgConfig::LIBUNWIND)
2120
+if(ENABLE_LIBUNWIND)
2121
+ pkg_check_modules(LIBUNWIND libunwind IMPORTED_TARGET)
2122
+ if(TARGET PkgConfig::LIBUNWIND)
2123
set(HAVE_LIBUNWIND On)
2124
2125
if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(amd64)")
2123
- target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-x86_64)
2126
+ target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-x86_64)
2127
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64|aarch64")
2125
- target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-aarch64)
2128
+ target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-aarch64)
2129
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
2127
- target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-arm)
2130
+ target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-arm)
2131
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc|ppc")
2129
- target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-ppc64)
2132
+ target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-ppc64)
2133
else()
2131
- message(WARNING "Unknown architecture ${CMAKE_SYSTEM_PROCESSOR} for libunwind. Stack traces may not work.")
2132
- target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND)
2134
+ message(WARNING "Unknown architecture ${CMAKE_SYSTEM_PROCESSOR} for libunwind. Stack traces may not work.")
2135
+ target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND)
2136
endif()
2137
+ else()
2138
+ message(FATAL "Could not find libunwind for logging of stack traces")
2139
+ endif()
2140
endif()
2141
2142
# zlib