diff --git a/.github/workflows/build-test-package.yml b/.github/workflows/build-test-package.yml
index 51affcb..7e663e3 100644
--- a/.github/workflows/build-test-package.yml
+++ b/.github/workflows/build-test-package.yml
@@ -108,6 +108,7 @@ jobs:
endif()
set(dashboard_cache "
ITK_DIR:PATH=\${CTEST_DASHBOARD_ROOT}/ITK-b
+ Module_MorphologicalContourInterpolation_BUILD_EXAMPLES:BOOL=ON
BUILD_TESTING:BOOL=ON
")
string(TIMESTAMP build_date "%Y-%m-%d")
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 447dafc..965d540 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,19 @@
cmake_minimum_required(VERSION 3.10.2)
+
+if(CMAKE_CXX_STANDARD EQUAL "98" )
+ message(FATAL_ERROR "CMAKE_CXX_STANDARD:STRING=98 is not supported in ITK version 5 and greater.")
+endif()
+
+if(NOT CMAKE_CXX_STANDARD)
+ set(CMAKE_CXX_STANDARD 11) # Supported values are ``11``, ``14``, and ``17``.
+endif()
+if(NOT CMAKE_CXX_STANDARD_REQUIRED)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+endif()
+if(NOT CMAKE_CXX_EXTENSIONS)
+ set(CMAKE_CXX_EXTENSIONS OFF)
+endif()
+
project(MorphologicalContourInterpolation)
if(NOT ITK_SOURCE_DIR)
@@ -6,6 +21,7 @@ if(NOT ITK_SOURCE_DIR)
list(APPEND CMAKE_MODULE_PATH ${ITK_CMAKE_DIR})
include(ITKModuleExternal)
else()
+ set(ITK_DIR ${CMAKE_BINARY_DIR})
itk_module_impl()
endif()
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 99f63be..b6d3d9f 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -2,22 +2,30 @@ cmake_minimum_required(VERSION 3.10.2)
project(MorphologicalContourInterpolation_Examples CXX)
-find_package(ITK REQUIRED
- COMPONENTS
- MorphologicalContourInterpolation
- ITKSmoothing
- ITKIOImageBase
- ITKIONRRD
- )
+if(NOT ITK_SOURCE_DIR)
+ find_package(ITK 5.2 REQUIRED COMPONENTS MorphologicalContourInterpolation ITKSmoothing ITKImageIO ITKTestKernel)
+else()
+ # when being built as part of ITK, ITKImageIO and ITKTransformIO
+ # lists of modules are not yet ready, causing a configure error
+ find_package(ITK REQUIRED COMPONENTS MorphologicalContourInterpolation ITKSmoothing ITKIOImageBase ITKIONRRD ITKTestKernel)
+endif()
include(${ITK_USE_FILE})
add_executable(mciExample mciExample.cxx)
target_link_libraries(mciExample ${ITK_LIBRARIES})
+# add some regression tests
enable_testing()
add_test(NAME mciExample_SevenLabels_3
COMMAND mciExample ${CMAKE_CURRENT_SOURCE_DIR}/SevenLabels.nrrd
${CMAKE_CURRENT_BINARY_DIR}/SevenLabels_interpolated.nrrd
3)
+
+if(ITK_WRAP_PYTHON)
+ add_test(NAME mciExample_ManyToMany
+ COMMAND python ${CMAKE_CURRENT_LIST_DIR}/mciExample.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/ManyToMany.nrrd
+ ${CMAKE_CURRENT_BINARY_DIR}/ManyToMany_interpolated.nrrd)
+endif()
\ No newline at end of file
diff --git a/examples/ManyToMany.nrrd b/examples/ManyToMany.nrrd
new file mode 100644
index 0000000..298966e
Binary files /dev/null and b/examples/ManyToMany.nrrd differ
diff --git a/examples/mciExample.py b/examples/mciExample.py
new file mode 100644
index 0000000..075656a
--- /dev/null
+++ b/examples/mciExample.py
@@ -0,0 +1,10 @@
+import itk
+import sys
+
+if len (sys.argv) < 3:
+ print( "Usage: %s