@@ -3,6 +3,10 @@ project(ConvertImage)
33
44set (CMAKE_CXX_STANDARD 17)
55
6+ if (NOT TARGET libzstd_static)
7+ include (${CMAKE_CURRENT_SOURCE_DIR} /../../common/CompressStringify/BuildZstd.cmake)
8+ endif ()
9+
610# This list should be ordered from approximately most commonly to least
711# commonly used modules.
812set (WebAssemblyInterface_ImageIOModules
@@ -86,8 +90,9 @@ set(imageio_id_itkScancoImageIO 19)
8690set (imageios_IOFDF itkFDFImageIO)
8791set (imageio_id_itkFDFImageIO 20)
8892
89- set (imageios_WebAssemblyInterface itkWASMImageIO)
93+ set (imageios_WebAssemblyInterface itkWASMImageIO itkWASMZstdImageIO )
9094set (imageio_id_itkWASMImageIO 21)
95+ set (imageio_id_itkWASMZstdImageIO 22)
9196
9297set (ITK_NO_IO_FACTORY_REGISTER_MANAGER 1)
9398set (ImageIOIndex_ARRAY "" )
@@ -97,6 +102,7 @@ foreach(io_module ${WebAssemblyInterface_ImageIOModules} WebAssemblyInterface)
97102 find_package (ITK REQUIRED COMPONENTS ITKIOImageBase)
98103 include (${ITK_USE_FILE} )
99104 include_directories (${WebAssemblyInterface_INCLUDE_DIRS} )
105+ include_directories (${CMAKE_CURRENT_SOURCE_DIR} )
100106 list (APPEND ITK_LIBRARIES ${WebAssemblyInterface_LIBRARIES} )
101107 else ()
102108 find_package (ITK REQUIRED COMPONENTS ${io_module} WebAssemblyInterface)
@@ -112,11 +118,16 @@ foreach(io_module ${WebAssemblyInterface_ImageIOModules} WebAssemblyInterface)
112118 endif ()
113119 foreach (imageio ${imageios_${io_module} })
114120 set (ImageIOIndex_ARRAY "${ImageIOIndex_ARRAY} '${imageio} ', " )
121+ set (extra_srcs)
122+ if (${imageio} STREQUAL "itkWASMZstdImageIO" )
123+ list (APPEND ITK_LIBRARIES libzstd_static)
124+ list (APPEND extra_srcs itkWASMZstdImageIO.cxx)
125+ endif ()
115126
116- add_executable (${imageio} ReadImage ReadImage.cxx)
127+ add_executable (${imageio} ReadImage ReadImage.cxx ${extra_srcs} )
117128 target_link_libraries (${imageio} ReadImage PUBLIC ${ITK_LIBRARIES} )
118129 target_compile_definitions (${imageio} ReadImage PUBLIC -DIMAGE_IO_CLASS=${imageio_id_${imageio} })
119- add_executable (${imageio} WriteImage WriteImage.cxx)
130+ add_executable (${imageio} WriteImage WriteImage.cxx ${extra_srcs} )
120131 target_link_libraries (${imageio} WriteImage PUBLIC ${ITK_LIBRARIES} )
121132 target_compile_definitions (${imageio} WriteImage PUBLIC -DIMAGE_IO_CLASS=${imageio_id_${imageio} })
122133 if (EMSCRIPTEN AND DEFINED WebAssemblyInterface_BINARY_DIR )
0 commit comments