From 0317066fccf7ccd85a1d0326145b84973e527d94 Mon Sep 17 00:00:00 2001
From: Utkarsh Ayachit <utkarsh.ayachit@kitware.com>
Date: Tue, 9 Jan 2018 17:27:13 -0500
Subject: [PATCH] vtkDomainsMicroscopy: update to the new module system

---
 .../Microscopy => CMake}/FindOpenSlide.cmake  |  2 +-
 Domains/Microscopy/CMakeLists.txt             | 22 +++++++------------
 Domains/Microscopy/Testing/CMakeLists.txt     |  7 ++++++
 Domains/Microscopy/Testing/Cxx/CMakeLists.txt |  4 ++--
 .../Testing/Python/testOpenSlideReader.py     |  5 +++--
 Domains/Microscopy/module.cmake               | 15 -------------
 Domains/Microscopy/vtk.module                 | 17 ++++++++++++++
 7 files changed, 38 insertions(+), 34 deletions(-)
 rename {Domains/Microscopy => CMake}/FindOpenSlide.cmake (92%)
 delete mode 100644 Domains/Microscopy/module.cmake
 create mode 100644 Domains/Microscopy/vtk.module

diff --git a/Domains/Microscopy/FindOpenSlide.cmake b/CMake/FindOpenSlide.cmake
similarity index 92%
rename from Domains/Microscopy/FindOpenSlide.cmake
rename to CMake/FindOpenSlide.cmake
index 85538d68f5d..85b0c67d1c2 100644
--- a/Domains/Microscopy/FindOpenSlide.cmake
+++ b/CMake/FindOpenSlide.cmake
@@ -26,7 +26,7 @@ mark_as_advanced( OPENSLIDE_LIBRARY )
 # the listed variables are TRUE.
 
 find_package( PackageHandleStandardArgs )
-FIND_PACKAGE_HANDLE_STANDARD_ARGS( OPENSLIDE DEFAULT_MSG OPENSLIDE_LIBRARY OPENSLIDE_INCLUDE_DIR )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenSlide DEFAULT_MSG OPENSLIDE_LIBRARY OPENSLIDE_INCLUDE_DIR )
 
 if( OPENSLIDE_FOUND )
   set( OPENSLIDE_LIBRARIES ${OPENSLIDE_LIBRARY} )
diff --git a/Domains/Microscopy/CMakeLists.txt b/Domains/Microscopy/CMakeLists.txt
index 799ebb413e0..1365e87572f 100644
--- a/Domains/Microscopy/CMakeLists.txt
+++ b/Domains/Microscopy/CMakeLists.txt
@@ -1,16 +1,10 @@
-# OpenSlide required
-LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}")
-find_package(OpenSlide REQUIRED)
+set(classes
+  vtkOpenSlideReader)
 
-mark_as_advanced(OPENSLIDE_INCLUDE_DIR OPENSLIDE_LIBRARY)
+vtk_module_add_module(VTK::DomainsMicroscopy
+  CLASSES ${classes})
 
-set(OPENSLIDE_SRCS vtkOpenSlideReader.cxx)
-
-include_directories(${OPENSLIDE_INCLUDE_DIRS})
-
-set(${vtk-module}_SYSTEM_INCLUDE_DIRS
-    ${OPENSLIDE_INCLUDE_DIRS})
-
-vtk_module_library(vtkDomainsMicroscopy ${OPENSLIDE_SRCS})
-
-vtk_module_link_libraries(vtkDomainsMicroscopy LINK_PRIVATE ${OPENSLIDE_LIBRARY})
+vtk_module_find_package(PACKAGE OpenSlide)
+vtk_module_link(VTK::DomainsMicroscopy
+  PUBLIC
+    OpenSlide::OpenSlide)
diff --git a/Domains/Microscopy/Testing/CMakeLists.txt b/Domains/Microscopy/Testing/CMakeLists.txt
index aabac3feeeb..eff7e11d460 100644
--- a/Domains/Microscopy/Testing/CMakeLists.txt
+++ b/Domains/Microscopy/Testing/CMakeLists.txt
@@ -1,5 +1,12 @@
+vtk_module_test_data(
+  Data/2LYZ.pdb
+  Data/Microscopy/small2.ndpi)
+
 add_subdirectory(Cxx)
 
 if (VTK_WRAP_PYTHON)
+  vtk_module_test_data(
+    Data/RectGrid2.vtk)
+
   add_subdirectory(Python)
 endif ()
diff --git a/Domains/Microscopy/Testing/Cxx/CMakeLists.txt b/Domains/Microscopy/Testing/Cxx/CMakeLists.txt
index 9c6ec2d63e9..8f6140f479c 100644
--- a/Domains/Microscopy/Testing/Cxx/CMakeLists.txt
+++ b/Domains/Microscopy/Testing/Cxx/CMakeLists.txt
@@ -3,12 +3,12 @@
 
 vtk_add_test_cxx(vtkDomainsMicroscopyCxxTests tests
   TestOpenSlideReader.cxx
-  "DATA{${VTK_TEST_INPUT_DIR}/Microscopy/small2.ndpi}"
+  "DATA{${_vtk_build_TEST_INPUT_DATA_DIRECTORY}/Data/Microscopy/small2.ndpi}"
   )
 
 vtk_add_test_cxx(vtkDomainsMicroscopyCxxTests  tests
     TestOpenSlideReaderPartialTIF,TestOpenSlideReaderPartial.cxx
-  "DATA{${VTK_TEST_INPUT_DIR}/Microscopy/pathology.tif}"
+  "DATA{${_vtk_build_TEST_INPUT_DATA_DIRECTORY}/Data/Microscopy/pathology.tif}"
   )
 
 vtk_test_cxx_executable(vtkDomainsMicroscopyCxxTests tests RENDERING_FACTORY)
diff --git a/Domains/Microscopy/Testing/Python/testOpenSlideReader.py b/Domains/Microscopy/Testing/Python/testOpenSlideReader.py
index 6d74c8a1bd9..8ce6a222956 100755
--- a/Domains/Microscopy/Testing/Python/testOpenSlideReader.py
+++ b/Domains/Microscopy/Testing/Python/testOpenSlideReader.py
@@ -1,10 +1,11 @@
 #!/usr/bin/env python
 import vtk
+import vtk.test.Testing
 from vtk.util.misc import vtkGetDataRoot
 VTK_DATA_ROOT = vtkGetDataRoot()
 import sys
 
-class TestOpenSlideReader(Testing.vtkTest):
+class TestOpenSlideReader(vtk.test.Testing.vtkTest):
 
     def testCanReadFile(self):
         reader = vtk.vtkOpenSlideReader()
@@ -15,4 +16,4 @@ class TestOpenSlideReader(Testing.vtkTest):
         self.assertEqual(reader.CanReadFile(VTK_DATA_ROOT + "/Data/Microscopy/small2.ndpi"), 2)
 
 if __name__ == "__main__":
-    Testing.main([(TestOpenSlideReader, 'test')])
+    vtk.test.Testing.main([(TestOpenSlideReader, 'test')])
diff --git a/Domains/Microscopy/module.cmake b/Domains/Microscopy/module.cmake
deleted file mode 100644
index 909262bee2f..00000000000
--- a/Domains/Microscopy/module.cmake
+++ /dev/null
@@ -1,15 +0,0 @@
-vtk_module(vtkDomainsMicroscopy
-  DESCRIPTION "Readers and writers supporting whole slide images for microscopy domain"
-  TEST_DEPENDS
-    vtkTestingCore
-    vtkTestingRendering
-    vtkInteractionImage
-    vtkRenderingContextOpenGL2
-  EXCLUDE_FROM_ALL
-  DEPENDS
-    vtkIOImage
-  PRIVATE_DEPENDS
-    vtkCommonCore
-    vtkCommonDataModel
-    vtkCommonExecutionModel
-  )
diff --git a/Domains/Microscopy/vtk.module b/Domains/Microscopy/vtk.module
new file mode 100644
index 00000000000..d5bbff5c228
--- /dev/null
+++ b/Domains/Microscopy/vtk.module
@@ -0,0 +1,17 @@
+NAME
+  VTK::DomainsMicroscopy
+LIBRARY_NAME
+  vtkDomainsMicroscopy
+DESCRIPTION
+  File readers for microscopy file formats
+DEPENDS
+  VTK::IOImage
+PRIVATE_DEPENDS
+  VTK::CommonCore
+  VTK::CommonDataModel
+  VTK::CommonExecutionModel
+TEST_DEPENDS
+  VTK::InteractionImage
+  VTK::RenderingContextOpenGL2
+  VTK::TestingCore
+  VTK::TestingRendering
-- 
GitLab