From c7cb7e2c5d02481ebc00767c3580701ebe119a38 Mon Sep 17 00:00:00 2001
From: Ben Boeckel <ben.boeckel@kitware.com>
Date: Thu, 10 Jan 2019 12:04:21 -0500
Subject: [PATCH] cdash: add an option to suppress third-party warnings

They'll still show up locally, but CDash won't show them.
---
 CMake/CTestCustom.cmake.in | 7 +++++++
 CMakeLists.txt             | 5 +++++
 2 files changed, 12 insertions(+)

diff --git a/CMake/CTestCustom.cmake.in b/CMake/CTestCustom.cmake.in
index a48d3ca99d6..2bb9ab735de 100644
--- a/CMake/CTestCustom.cmake.in
+++ b/CMake/CTestCustom.cmake.in
@@ -10,6 +10,13 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
   "[Qq]t.*warning C4714"
   "[Qq]t.*note: see declaration of")
 
+set(cdash_show_third_party_warnings "@VTK_ENABLE_CDASH_THIRD_PARTY_WARNINGS@")
+if (NOT cdash_show_third_party_warnings)
+  list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
+    # Suppress ThirdParty source code from displaying warnings.
+    "[Tt]hird[Pp]arty")
+endif ()
+
 list(APPEND CTEST_CUSTOM_COVERAGE_EXCLUDE
   "vtk[^\\.]+(Java|Python).cxx"
   ".*Testing.Cxx.*cxx"
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f98b6a4b17a..d2f2da50d7c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -293,6 +293,11 @@ set(vtk_cmake_build_dir
   "${CMAKE_CURRENT_BINARY_DIR}/${vtk_cmake_destination}")
 include(vtkInstallCMakePackage)
 
+cmake_dependent_option(VTK_ENABLE_CDASH_THIRD_PARTY_WARNINGS
+  "Suppress warnings from third-party libraries from showing on CDash" OFF
+  "VTK_BUILD_TESTING" OFF)
+mark_as_advanced(VTK_ENABLE_CDASH_THIRD_PARTY_WARNINGS)
+
 configure_file(
   "${vtk_cmake_dir}/CTestCustom.cmake.in"
   "${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.cmake"
-- 
GitLab