From 8dc5108d8a7834d9aa556178f02667fd0eb81ac2 Mon Sep 17 00:00:00 2001 From: "Hans J. Johnson" Date: Thu, 11 Jun 2026 07:40:16 -0500 Subject: [PATCH 1/3] COMP: Add ITKZLIB private dependency to ITKReview MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit itkVoxBoCUBImageIO.cxx calls itkzlib_gz* but ITKZLIB was dropped from the link closure when module dependencies moved to COMPILE_DEPENDS (ada67f60ace), leaving libITKReview with undefined zlib symbols in shared-library builds. Assisted-by: Claude Code — root-cause analysis from ITKSphinxExamples CI logs --- Modules/Nonunit/Review/itk-module.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Modules/Nonunit/Review/itk-module.cmake b/Modules/Nonunit/Review/itk-module.cmake index d3ddf009418..ebbd24ccd16 100644 --- a/Modules/Nonunit/Review/itk-module.cmake +++ b/Modules/Nonunit/Review/itk-module.cmake @@ -10,6 +10,8 @@ itk_module( ITKReview DEPENDS ITKIOImageBase + PRIVATE_DEPENDS + ITKZLIB COMPILE_DEPENDS ITKAnisotropicSmoothing ITKAntiAlias From 628a5346110ff096f7ac33b56d6c65118c0fd318 Mon Sep 17 00:00:00 2001 From: "Hans J. Johnson" Date: Thu, 11 Jun 2026 08:00:16 -0500 Subject: [PATCH 2/3] COMP: Declare ITKEigen3 public dependency in Montage itkTileMontage.hxx is an installed header that includes itk_eigen.h, so consumers need the Eigen include path too; declare it under DEPENDS like every other ITKEigen3 consumer. --- Modules/Registration/Montage/itk-module.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/Modules/Registration/Montage/itk-module.cmake b/Modules/Registration/Montage/itk-module.cmake index f3ea7d14013..9011fa18c16 100644 --- a/Modules/Registration/Montage/itk-module.cmake +++ b/Modules/Registration/Montage/itk-module.cmake @@ -17,6 +17,7 @@ itk_module( ITKIOImageBase ITKImageFrequency ITKDoubleConversion + ITKEigen3 TEST_DEPENDS ITKIOTransformInsightLegacy ITKTestKernel From eeef9928735aa12d80323619efbe8ce35757b150 Mon Sep 17 00:00:00 2001 From: "Hans J. Johnson" Date: Thu, 11 Jun 2026 08:36:48 -0500 Subject: [PATCH 3/3] DOC: Mark COMPILE_DEPENDS deprecated in itk_module documentation --- CMake/ITKModuleMacros.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMake/ITKModuleMacros.cmake b/CMake/ITKModuleMacros.cmake index bda07c649bf..81421133f4f 100644 --- a/CMake/ITKModuleMacros.cmake +++ b/CMake/ITKModuleMacros.cmake @@ -21,7 +21,8 @@ include(GenerateExportHeader) # dependent modules: # DEPENDS = Modules that will be publicly linked to this module # PRIVATE_DEPENDS = Modules that will be privately linked to this module -# COMPILE_DEPENDS = Modules that are needed at compile time by this module +# COMPILE_DEPENDS = (deprecated) Modules that are needed at compile time by +# this module; prefer DEPENDS or PRIVATE_DEPENDS # TEST_DEPENDS = Modules that are needed by this modules testing executables # DESCRIPTION = Free text description of the module # FACTORY_NAMES = List of :: to register