diff --git a/CMakeLists.txt b/CMakeLists.txt index a9c4e185df..43e70bd539 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -559,7 +559,17 @@ list(APPEND THIRD_PARTY_LIBRARIES NRLib) # ############################################################################## add_definitions(-DOPENZGY_STATIC) + +# Suppress CMake deprecation warnings from openzgy/zfp's old CMakeLists.txt +set(CMAKE_WARN_DEPRECATED + OFF + CACHE BOOL "" FORCE +) add_subdirectory(ThirdParty/openzgy) +set(CMAKE_WARN_DEPRECATED + ON + CACHE BOOL "" FORCE +) list(APPEND THIRD_PARTY_LIBRARIES openzgy) set_property(TARGET zfp PROPERTY FOLDER "Thirdparty") @@ -706,8 +716,24 @@ list(APPEND THIRD_PARTY_LIBRARIES FastFloat::fast_float spdlog::spdlog) find_package(Arrow CONFIG REQUIRED) if(MSVC) list(APPEND THIRD_PARTY_LIBRARIES Arrow::arrow_shared) + # Treat Arrow headers as system headers to suppress warnings from third-party + # code + set_target_properties( + Arrow::arrow_shared + PROPERTIES + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES + $ + ) else() list(APPEND THIRD_PARTY_LIBRARIES Arrow::arrow_static) + # Treat Arrow headers as system headers to suppress warnings from third-party + # code + set_target_properties( + Arrow::arrow_static + PROPERTIES + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES + $ + ) endif() # ############################################################################## @@ -716,8 +742,24 @@ endif() find_package(Parquet CONFIG REQUIRED) if(MSVC) list(APPEND THIRD_PARTY_LIBRARIES Parquet::parquet_shared) + # Treat Parquet headers as system headers to suppress warnings from + # third-party code + set_target_properties( + Parquet::parquet_shared + PROPERTIES + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES + $ + ) else() list(APPEND THIRD_PARTY_LIBRARIES Parquet::parquet_static) + # Treat Parquet headers as system headers to suppress warnings from + # third-party code + set_target_properties( + Parquet::parquet_static + PROPERTIES + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES + $ + ) endif() # ############################################################################## diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiLineEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiLineEditor.cpp index 4740335478..42a5cf8b9a 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiLineEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiLineEditor.cpp @@ -92,9 +92,9 @@ QWidget* PdmUiLineEditor::createEditorWidget( QWidget* parent ) { if ( !uiFieldHandle ) return false; - if ( uiFieldHandle->fieldHandle() ) + if ( auto fieldHandle = uiFieldHandle->fieldHandle() ) { - const std::type_info& typeInfo = typeid( *uiFieldHandle->fieldHandle() ); + const std::type_info& typeInfo = typeid( *fieldHandle ); QString typeName = QString( typeInfo.name() ); return typeName.contains( "optional", Qt::CaseInsensitive ); diff --git a/tooling/sanitizers/asan_suppressions.txt b/tooling/sanitizers/asan_suppressions.txt new file mode 100644 index 0000000000..b4d7f19cbb --- /dev/null +++ b/tooling/sanitizers/asan_suppressions.txt @@ -0,0 +1,39 @@ +# ASan Leak Suppression File for ResInsight +# This file suppresses known leaks in third-party libraries that are not part of ResInsight +# +# System Information: +# OS: Ubuntu 24.04.2 LTS +# Kernel: Linux 6.6.87.2-microsoft-standard-WSL2 +# Compiler: Ubuntu clang version 19.1.1 (1ubuntu1~24.04.2) +# Generated: 2025-10-17 +# +# Usage: +# Set the LSAN_OPTIONS environment variable before running tests or the application: +# export LSAN_OPTIONS=suppressions=/home/builder/gitroot/ResInsight/tooling/sanitizers/asan_suppressions.txt +# +# Or run directly with: +# LSAN_OPTIONS=suppressions=/home/builder/gitroot/ResInsight/tooling/sanitizers/asan_suppressions.txt ./build/clang/ResInsight +# +# For CMake/CTest: +# LSAN_OPTIONS=suppressions=/home/builder/gitroot/ResInsight/tooling/sanitizers/asan_suppressions.txt ctest + +# Qt Wayland platform plugin - known leak in wp_viewporter initialization +leak:libwayland-client.so +leak:libQt6WaylandClient.so + +# Wayland proxy marshalling functions +leak:wl_proxy_marshal_array_flags +leak:wl_proxy_marshal_constructor_versioned + +# Dynamic library loading leaks during initialization +leak:call_init +leak:_dl_init +leak:dl_open_worker +leak:_dl_open +leak:dlopen + +# Aligned memory allocation leaks from unknown modules (likely third-party libraries) +leak:aligned_alloc + +# pthread condition variable leaks from system libraries +leak:pthread_cond_broadcast