Skip to content

Commit cc7ffb9

Browse files
authored
Merge pull request InsightSoftwareConsortium#5793 from blowekamp/cmake_zlib_interface
Use CMake Interface Targets for ZLIB
2 parents 7b7da86 + 8af1b5c commit cc7ffb9

File tree

9 files changed

+64
-16
lines changed

9 files changed

+64
-16
lines changed

Examples/RegistrationITKv4/CMakeLists.txt

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -317,10 +317,29 @@ target_link_libraries(
317317

318318
if(ITK_USE_FFTWD AND NOT ITK_USE_CUFFTW)
319319
add_executable(DeformableRegistration9 DeformableRegistration9.cxx)
320-
target_link_libraries(DeformableRegistration9 ${ITK_LIBRARIES})
320+
target_link_libraries(
321+
DeformableRegistration9
322+
PRIVATE
323+
ITK::ITKImageIO
324+
ITK::ITKDisplacementFieldModule
325+
ITK::ITKImageFilterBaseModule
326+
ITK::ITKImageFunctionModule
327+
ITK::ITKImageGridModule
328+
ITK::ITKImageIntensityModule
329+
ITK::ITKPDEDeformableRegistrationModule
330+
)
321331

322332
add_executable(DeformableRegistration10 DeformableRegistration10.cxx)
323-
target_link_libraries(DeformableRegistration10 ${ITK_LIBRARIES})
333+
target_link_libraries(
334+
DeformableRegistration10
335+
PRIVATE
336+
ITK::ITKImageIO
337+
ITK::ITKDisplacementFieldModule
338+
ITK::ITKImageFilterBaseModule
339+
ITK::ITKImageFunctionModule
340+
ITK::ITKImageIntensityModule
341+
ITK::ITKPDEDeformableRegistrationModule
342+
)
324343
endif()
325344

326345
add_executable(MultiResImageRegistration1 MultiResImageRegistration1.cxx)
@@ -399,10 +418,22 @@ target_link_libraries(
399418

400419
if(ITKFEMRegistration_ENABLED)
401420
add_executable(DeformableRegistration1 DeformableRegistration1.cxx)
402-
target_link_libraries(DeformableRegistration1 ${ITK_LIBRARIES})
421+
target_link_libraries(
422+
DeformableRegistration1
423+
PRIVATE
424+
ITK::ITKImageIO
425+
ITK::ITKFEMRegistrationModule
426+
ITK::ITKImageIntensityModule
427+
)
403428

404429
add_executable(DeformableRegistration11 DeformableRegistration11.cxx)
405-
target_link_libraries(DeformableRegistration11 ${ITK_LIBRARIES})
430+
target_link_libraries(
431+
DeformableRegistration11
432+
PRIVATE
433+
ITK::ITKImageIO
434+
ITK::ITKFEMRegistrationModule
435+
ITK::ITKImageIntensityModule
436+
)
406437
endif()
407438

408439
add_executable(DeformableRegistration2 DeformableRegistration2.cxx)

Modules/ThirdParty/HDF5/src/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -239,9 +239,8 @@ endif()
239239
if(HDF5_ENABLE_Z_LIB_SUPPORT)
240240
# We must tell the main HDF5 library that it depends on our zlib
241241
# see src/itkhdf5/CMakeLists.txt for detauls
242-
set(H5_ZLIB_INCLUDE_DIRS "${ITKZLIB_INCLUDE_DIRS}")
243-
set(H5_ZLIB_LIBRARIES "${ITKZLIB_LIBRARIES}")
244-
set(HDF5_LIB_DEPENDENCIES ${ITKZLIB_LIBRARIES})
242+
set(H5_ZLIB_LIBRARIES "ITK::ITKZLIBModule")
243+
set(HDF5_LIB_DEPENDENCIES ITK::ITKZLIBModule)
245244
set(H5_ZLIB_HEADER "itk_zlib.h")
246245

247246
set(

Modules/ThirdParty/MINC/src/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ set(LIBMINC_BUILD_EZMINC_EXAMPLES OFF)
2525
set(LIBMINC_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
2626
set(LIBMINC_EXPORTED_TARGETS ${ITKMINC-targets})
2727

28-
set(ZLIB_INCLUDE_DIR ${ITKZLIB_INCLUDE_DIRS})
29-
set(ZLIB_LIBRARY ${ITKZLIB_LIBRARIES})
28+
set(ZLIB_LIBRARY ITK::ITKZLIBModule)
3029

3130
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
3231
set(LIBRARY_OUTPUT_PATH ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})

Modules/ThirdParty/MetaIO/src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
set(METAIO_NAMESPACE "ITKMetaIO")
22
set(METAIO_PROJECT_NAME "ITK3P_MetaIO")
3-
set(METAIO_ZLIB_LIBRARIES ${ITKZLIB_LIBRARIES})
3+
set(METAIO_ZLIB_LIBRARIES ITK::ITKZLIBModule)
44
set(METAIO_INSTALL_EXPORT_NAME ${ITKMetaIO-targets})
55
set(METAIO_INSTALL_INCLUDE_DIR ${ITKMetaIO_INSTALL_INCLUDE_DIR})
66
set(METAIO_INSTALL_RUNTIME_DIR ${ITKMetaIO_INSTALL_RUNTIME_DIR})

Modules/ThirdParty/NIFTI/src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ set(NIFTI_INSTALL_ARCHIVE_DIR "${ITKNIFTI_INSTALL_ARCHIVE_DIR}") # "Set nifti in
4848

4949
set(NIFTI_INSTALL_INCLUDE_DIR "${ITK_INSTALL_INCLUDE_DIR}")
5050

51-
set(NIFTI_ZLIB_LIBRARIES ${ITKZLIB_LIBRARIES}) # "Set the zlib library associated with ITK"
51+
set(NIFTI_ZLIB_LIBRARIES ITK::ITKZLIBModule) # "Set the zlib library associated with ITK"
5252
# Modern CMake install COMPONENTS is being considered in upstream GIFTI
5353
# Setting METAIO_INSTALL_NO_DEVELOPMENT & METAIO_INSTALL_NO_LIBRARIES to
5454
# FALSE to make explicit that the development and libraries

Modules/ThirdParty/NrrdIO/src/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@ set(NRRDIO_USE_ZLIB OFF)
1010
set(TEEM_ITK_MANGLE 1) # Needed to generate public facing ITKNrrdIO.h from ITKNrrdIO.h.in with TEEM_ITK_MANGLE=1 always
1111
add_definitions(-DTEEM_ITK_MANGLE=${TEEM_ITK_MANGLE}) # Needed for privateNrrd.h (only used when building library, no public api).
1212
add_definitions(-DTEEM_ZLIB=1) # Force setting zlib support here
13-
set(ZLIB_INCLUDE_DIR ${ITKZLIB_INCLUDE_DIRS})
14-
set(ZLIB_LIBRARY ${ITKZLIB_LIBRARIES})
15-
list(APPEND NRRDIO_COMPRESSION_LIBRARIES ${ITKZLIB_LIBRARIES})
13+
set(ZLIB_LIBRARY ITK::ITKZLIBModule)
14+
list(APPEND NRRDIO_COMPRESSION_LIBRARIES ITK::ITKZLIBModule)
1615
if(UNIX)
1716
list(APPEND NRRDIO_COMPRESSION_LIBRARIES m)
1817
list(REMOVE_DUPLICATES NRRDIO_COMPRESSION_LIBRARIES)

Modules/ThirdParty/PNG/src/itkpng/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ configure_file(${ITK3P_PNG_SOURCE_DIR}/itk_png_mangle.h.in
3636
@ONLY)
3737

3838
add_library(itkpng ${PNG_SRCS})
39-
target_link_libraries(itkpng ${ITKZLIB_LIBRARIES})
39+
target_link_libraries(itkpng ITK::ITKZLIBModule)
4040

4141
target_include_directories(itkpng
4242
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${ITK3P_INSTALL_INCLUDE_DIR}/itkpng>;$<BUILD_INTERFACE:${ITK3P_PNG_BINARY_DIR}>"

Modules/ThirdParty/TIFF/src/itktiff/libtiff/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ set(tiff_libs_private_list "") # cmake list
144144
set(tiff_requires_private "") # cmake string
145145

146146
if(ZIP_SUPPORT)
147-
target_link_libraries(itktiff PRIVATE ${ITKZLIB_LIBRARIES})
147+
target_link_libraries(itktiff PRIVATE ITK::ITKZLIBModule)
148148
string(APPEND tiff_requires_private " zlib")
149149
endif()
150150
if(ZIP_SUPPORT AND LIBDEFLATE_SUPPORT)

Modules/ThirdParty/ZLIB/CMakeLists.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,32 @@ option(
88
)
99
mark_as_advanced(ITK_USE_SYSTEM_ZLIB)
1010

11+
# needed for the generated itk_zlib.h file
12+
set(ITKZLIB_INCLUDE_DIRS ${ITKZLIB_BINARY_DIR}/src)
13+
1114
if(ITK_USE_SYSTEM_ZLIB)
1215
find_package(ZLIB REQUIRED)
1316
set(ITKZLIB_INCLUDE_DIRS ${ITKZLIB_BINARY_DIR}/src)
1417
set(ITKZLIB_SYSTEM_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS})
1518
set(ITKZLIB_LIBRARIES "${ZLIB_LIBRARIES}")
1619
set(ITKZLIB_NO_SRC 1)
20+
21+
set(
22+
ITKZLIB_EXPORT_CODE_INSTALL
23+
"
24+
set(ZLIB_ROOT \"${ZLIB_ROOT}\")
25+
find_package(ZLIB REQUIRED)
26+
"
27+
)
28+
set(
29+
ITKZLIB_EXPORT_CODE_BUILD
30+
"
31+
if(NOT ITK_BINARY_DIR)
32+
set(ZLIB_ROOT \"${ZLIB_ROOT}\")
33+
find_package(ZLIB REQUIRED)
34+
endif()
35+
"
36+
)
1737
else()
1838
set(
1939
ITKZLIB_INCLUDE_DIRS

0 commit comments

Comments
 (0)