From 3cd94c245cb36f794adc1287c3df50a6e34f7231 Mon Sep 17 00:00:00 2001 From: mwlasiuk Date: Sat, 28 Mar 2026 15:16:18 +0100 Subject: [PATCH 1/2] Add possibility to disable warnings for thirdparty libraries --- CMakeLists.txt | 36 +++++++++++++++++++++++++++++ cmake/disable_target_warnings.cmake | 29 +++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 cmake/disable_target_warnings.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d53ebea..2ab79b8a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -464,6 +464,42 @@ add_subdirectory(apps/livox_mid_360_intrinsic_calibration) add_subdirectory(apps/single_session_manual_coloring) add_subdirectory(apps/concatenate_multi_livox) +# NOTE(m.wlasiuk) : disable warnings for third party libraries so they do not pollute build logs + +### +### DISABLE WARNINGS FOR THIRDPARTY CODE - START +### + +include(cmake/disable_target_warnings.cmake) + +if(NOT WIN32) + disable_target_warnings(laszip) + disable_target_warnings(laszip_api) +else() + disable_target_warnings(laszip3) + disable_target_warnings(laszip_api3) +endif() + + +if(NOT WIN32) + disable_target_warnings(tbb) + disable_target_warnings(tbbbind_2_5) +else() + disable_target_warnings(tbb) +endif() + +disable_target_warnings(freeglut) +disable_target_warnings(freeglut_static) +disable_target_warnings(libglew_static) +disable_target_warnings(libglew_shared) +disable_target_warnings(spdlog) +disable_target_warnings(vqf) +disable_target_warnings(Fusion) + +### +### DISABLE WARNINGS FOR THIRDPARTY CODE - END +### + # CPack configuration set(CPACK_PACKAGE_NAME "hd_mapping") set(CPACK_PACKAGE_VERSION "${HDMAPPING_VERSION_MAJOR}.${HDMAPPING_VERSION_MINOR}.${HDMAPPING_VERSION_PATCH}") diff --git a/cmake/disable_target_warnings.cmake b/cmake/disable_target_warnings.cmake new file mode 100644 index 00000000..21dfe95b --- /dev/null +++ b/cmake/disable_target_warnings.cmake @@ -0,0 +1,29 @@ +include_guard() + +function(disable_target_warnings target_name) + if(NOT TARGET ${target_name}) + message(FATAL_ERROR "Target ${target_name} does not exist") + endif() + + get_target_property(target_type ${target_name} TYPE) + + if(target_type STREQUAL "INTERFACE_LIBRARY") + if(MSVC) + target_compile_options(${target_name} INTERFACE /W0) + set(_warn_flag "/W0") + else() + target_compile_options(${target_name} INTERFACE -w) + set(_warn_flag "-w") + endif() + else() + if(MSVC) + target_compile_options(${target_name} PRIVATE /W0) + set(_warn_flag "/W0") + else() + target_compile_options(${target_name} PRIVATE -w) + set(_warn_flag "-w") + endif() + endif() + + message(STATUS "Disabled warnings for target '${target_name}' using flag '${_warn_flag}'") +endfunction() \ No newline at end of file From 987742f563dbcde2be08c07966c4c9e37826b743 Mon Sep 17 00:00:00 2001 From: mwlasiuk Date: Sat, 28 Mar 2026 15:45:13 +0100 Subject: [PATCH 2/2] Skip warnings disable for non existing targets --- cmake/disable_target_warnings.cmake | 40 ++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/cmake/disable_target_warnings.cmake b/cmake/disable_target_warnings.cmake index 21dfe95b..a1d5be20 100644 --- a/cmake/disable_target_warnings.cmake +++ b/cmake/disable_target_warnings.cmake @@ -2,28 +2,28 @@ include_guard() function(disable_target_warnings target_name) if(NOT TARGET ${target_name}) - message(FATAL_ERROR "Target ${target_name} does not exist") - endif() - - get_target_property(target_type ${target_name} TYPE) - - if(target_type STREQUAL "INTERFACE_LIBRARY") - if(MSVC) - target_compile_options(${target_name} INTERFACE /W0) - set(_warn_flag "/W0") - else() - target_compile_options(${target_name} INTERFACE -w) - set(_warn_flag "-w") - endif() + message(STATUS "Target ${target_name} does not exist - skipping") else() - if(MSVC) - target_compile_options(${target_name} PRIVATE /W0) - set(_warn_flag "/W0") + get_target_property(target_type ${target_name} TYPE) + + if(target_type STREQUAL "INTERFACE_LIBRARY") + if(MSVC) + target_compile_options(${target_name} INTERFACE /W0) + set(_warn_flag "/W0") + else() + target_compile_options(${target_name} INTERFACE -w) + set(_warn_flag "-w") + endif() else() - target_compile_options(${target_name} PRIVATE -w) - set(_warn_flag "-w") + if(MSVC) + target_compile_options(${target_name} PRIVATE /W0) + set(_warn_flag "/W0") + else() + target_compile_options(${target_name} PRIVATE -w) + set(_warn_flag "-w") + endif() endif() - endif() - message(STATUS "Disabled warnings for target '${target_name}' using flag '${_warn_flag}'") + message(STATUS "Disabled warnings for target '${target_name}' using flag '${_warn_flag}'") + endif() endfunction() \ No newline at end of file