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..a1d5be20 --- /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(STATUS "Target ${target_name} does not exist - skipping") + else() + 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}'") + endif() +endfunction() \ No newline at end of file