From 35bef7fe514b27091d60a54d37996fab53809e7a Mon Sep 17 00:00:00 2001
From: Ben Boeckel <ben.boeckel@kitware.com>
Date: Wed, 17 Oct 2018 09:49:11 -0400
Subject: [PATCH] doubleconversion: update to the new module system

---
 ThirdParty/doubleconversion/CMakeLists.txt    | 22 ++++++++++++++-----
 ThirdParty/doubleconversion/module.cmake      |  3 ---
 ThirdParty/doubleconversion/update.sh         |  3 ++-
 ThirdParty/doubleconversion/vtk.module        |  5 +++++
 .../vtk_doubleconversion.h.in                 | 10 ++++-----
 5 files changed, 29 insertions(+), 14 deletions(-)
 delete mode 100644 ThirdParty/doubleconversion/module.cmake
 create mode 100644 ThirdParty/doubleconversion/vtk.module

diff --git a/ThirdParty/doubleconversion/CMakeLists.txt b/ThirdParty/doubleconversion/CMakeLists.txt
index f0ae4f09f10..840016cbc7a 100644
--- a/ThirdParty/doubleconversion/CMakeLists.txt
+++ b/ThirdParty/doubleconversion/CMakeLists.txt
@@ -1,5 +1,17 @@
-vtk_module_third_party(doubleconversion
-  PACKAGE double-conversion
-  INCLUDE_DIRS
-    ${CMAKE_CURRENT_SOURCE_DIR}/vtkdoubleconversion
-    ${CMAKE_CURRENT_BINARY_DIR}/vtkdoubleconversion)
+vtk_module_third_party(
+  INTERNAL
+    LICENSE_FILES "vtkdoubleconversion/COPYING"
+                  "vtkdoubleconversion/LICENSE"
+    VERSION       "3.1.1"
+    STANDARD_INCLUDE_DIRS
+  EXTERNAL
+    PACKAGE double-conversion
+    TARGETS double-conversion::double-conversion
+    STANDARD_INCLUDE_DIRS)
+
+configure_file(
+  "${CMAKE_CURRENT_SOURCE_DIR}/vtk_doubleconversion.h.in"
+  "${CMAKE_CURRENT_BINARY_DIR}/vtk_doubleconversion.h")
+
+vtk_module_install_headers(
+  FILES "${CMAKE_CURRENT_BINARY_DIR}/vtk_doubleconversion.h")
diff --git a/ThirdParty/doubleconversion/module.cmake b/ThirdParty/doubleconversion/module.cmake
deleted file mode 100644
index 03069a4bff6..00000000000
--- a/ThirdParty/doubleconversion/module.cmake
+++ /dev/null
@@ -1,3 +0,0 @@
-vtk_module(vtkdoubleconversion
-  EXCLUDE_FROM_WRAPPING
-)
diff --git a/ThirdParty/doubleconversion/update.sh b/ThirdParty/doubleconversion/update.sh
index 1b5a9114743..d633ec06d41 100755
--- a/ThirdParty/doubleconversion/update.sh
+++ b/ThirdParty/doubleconversion/update.sh
@@ -8,9 +8,10 @@ readonly name="doubleconversion"
 readonly ownership="double-conversion Upstream <kwrobot@kitware.com>"
 readonly subtree="ThirdParty/$name/vtk$name"
 readonly repo="https://gitlab.kitware.com/third-party/double-conversion.git"
-readonly tag="for/vtk"
+readonly tag="for/vtk-20181025-3.1.1"
 readonly paths="
 AUTHORS
+Changelog
 CMakeLists.vtk.txt
 COPYING
 double-conversion/
diff --git a/ThirdParty/doubleconversion/vtk.module b/ThirdParty/doubleconversion/vtk.module
new file mode 100644
index 00000000000..c56006a8401
--- /dev/null
+++ b/ThirdParty/doubleconversion/vtk.module
@@ -0,0 +1,5 @@
+NAME
+  VTK::doubleconversion
+LIBRARY_NAME
+  vtkdoubleconversion
+THIRD_PARTY
diff --git a/ThirdParty/doubleconversion/vtk_doubleconversion.h.in b/ThirdParty/doubleconversion/vtk_doubleconversion.h.in
index a3ec3bbaf7c..afe28ba6c89 100644
--- a/ThirdParty/doubleconversion/vtk_doubleconversion.h.in
+++ b/ThirdParty/doubleconversion/vtk_doubleconversion.h.in
@@ -15,13 +15,13 @@
 #ifndef vtk_doubleconversion_h
 #define vtk_doubleconversion_h
 
-#cmakedefine VTK_USE_SYSTEM_DOUBLECONVERSION
+/* Use the doubleconversion library configured for VTK.  */
+#cmakedefine01 VTK_MODULE_USE_EXTERNAL_vtkdoubleconversion
 
-#ifndef VTK_USE_SYSTEM_DOUBLECONVERSION
-#define VTK_DOUBLECONVERSION_QUOTE_HEADER_NAME(str) #str
-#  define VTK_DOUBLECONVERSION_HEADER(header) VTK_DOUBLECONVERSION_QUOTE_HEADER_NAME(vtkdoubleconversion/double-conversion/header)
+#if VTK_MODULE_USE_EXTERNAL_vtkdoubleconversion
+# define VTK_DOUBLECONVERSION_HEADER(header) <header>
 #else
-#  define VTK_DOUBLECONVERSION_HEADER(header) #header
+# define VTK_DOUBLECONVERSION_HEADER(header) <vtkdoubleconversion/double-conversion/header>
 #endif
 
 #endif
-- 
GitLab