Skip to content

Commit 4febb2d

Browse files
committed
COMP: Modernize CMake to itk_module_add_library and disable Python wheels
Replace the legacy add_library + itk_module_target + include_directories pattern with itk_module_add_library, which generates the export header and propagates its include directory through target interface properties. This fixes the IOOpenSlideExport.h not-found error when building test targets in the CTest/dashboard configuration. Disable the Python wheel workflow because OpenSlide is an external C library not available in the manylinux Docker containers or Windows wheel-build environments. Assisted-by: Claude Code — root-cause analysis of export header include path propagation
1 parent c3b2c47 commit 4febb2d

File tree

2 files changed

+7
-11
lines changed

2 files changed

+7
-11
lines changed

.github/workflows/build-test-package.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ jobs:
1818
brew-packages: 'openslide'
1919
os-list: '["ubuntu-22.04", "macos-15-intel", "macos-15"]'
2020

21-
python-build-workflow:
22-
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-package-python.yml@v5.4.6
23-
secrets:
24-
pypi_password: ${{ secrets.pypi_password }}
21+
# Python wheel builds are disabled because OpenSlide is an external C
22+
# library that is not available in the manylinux Docker containers or
23+
# the Windows wheel-build environment. Re-enable when the Python
24+
# workflow gains apt-packages / brew-packages support or the module
25+
# bundles its own OpenSlide build.

src/CMakeLists.txt

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@ set(IOOpenSlide_SRCS
33
itkOpenSlideImageIO.cxx
44
)
55

6-
include_directories("${IOOpenSlide_SOURCE_DIR}/include")
7-
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
8-
include_directories(${OPENSLIDE_INCLUDE_DIRS})
9-
10-
add_library(IOOpenSlide ${IOOpenSlide_SRCS})
6+
itk_module_add_library(IOOpenSlide ${IOOpenSlide_SRCS})
7+
target_include_directories(IOOpenSlide PRIVATE ${OPENSLIDE_INCLUDE_DIRS})
118
target_link_libraries(IOOpenSlide LINK_PRIVATE ${OPENSLIDE_LIBRARIES})
12-
itk_module_link_dependencies()
13-
itk_module_target(IOOpenSlide)

0 commit comments

Comments
 (0)