@@ -7,8 +7,22 @@ set(ITKDCMTK_NO_SRC 1)
77
88include (CMakeParseArguments )
99
10+ # oficonv is the fixed data backend; ICU and external iconv are mutually exclusive add-ons.
11+ set (
12+ CHARSET_CONVERSION_ARGS
13+ -DDCMTK_ENABLE_BUILTIN_OFICONV_DATA:BOOL =${DCMTK_ENABLE_BUILTIN_OFICONV_DATA}
14+ )
1015if (DCMTK_USE_ICU)
1116 option (ITK_USE_SYSTEM_ICU "Use an installed version of ICU" OFF )
17+ # ICU backend for both system and in-tree ICU; external iconv stays off.
18+ list (
19+ APPEND
20+ CHARSET_CONVERSION_ARGS
21+ -DDCMTK_WITH_STDLIBC_ICONV:BOOL=OFF
22+ -DDCMTK_WITH_ICU:BOOL=ON
23+ -DDCMTK_WITH_ICONV:BOOL=OFF
24+ -DDCMTK_ENABLE_CHARSET_CONVERSION:STRING=ICU
25+ )
1226 if (NOT ITK_USE_SYSTEM_ICU)
1327 set (ITKDCMTK_PREREQS ${ITKDCMTK_BINARY_DIR } /DCMTK_Prereqs)
1428 set (ITKDCMTK_ICU_LIBRARIES)
@@ -81,13 +95,7 @@ if(DCMTK_USE_ICU)
8195 else ()
8296 set (ICU_ROOT_DIR ${ITKDCMTK_PREREQS} )
8397 endif ()
84- set (
85- CHARSET_CONVERSION_ARGS
86- -DDCMTK_WITH_STDLIBC_ICONV:BOOL =OFF
87- -DDCMTK_WITH_ICU:BOOL =ON
88- -DDCMTK_ENABLE_CHARSET_CONVERSION:STRING =ICU
89- -DICU_ROOT:PATH =${ICU_ROOT_DIR}
90- )
98+ list (APPEND CHARSET_CONVERSION_ARGS -DICU_ROOT:PATH=${ICU_ROOT_DIR} )
9199 itk_download_attempt_check (icu )
92100 ExternalProject_Add (
93101 icu
@@ -109,7 +117,13 @@ if(DCMTK_USE_ICU)
109117 set (ICU_DEPENDENCY icu)
110118 endif ()
111119else ()
112- set (CHARSET_CONVERSION_ARGS -DDCMTK_WITH_ICU:BOOL =OFF )
120+ # Built-in oficonv only; disable ICU and external iconv for a deterministic backend.
121+ list (
122+ APPEND
123+ CHARSET_CONVERSION_ARGS
124+ -DDCMTK_WITH_ICU:BOOL=OFF
125+ -DDCMTK_WITH_ICONV:BOOL=OFF
126+ )
113127endif ()
114128
115129set (
@@ -480,7 +494,6 @@ endforeach()
480494 -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX }
481495 -DCMAKE_INSTALL_LIBDIR:PATH=${CMAKE_INSTALL_LIBDIR}
482496 -DCMAKE_INSTALL_BINDIR:PATH=${CMAKE_INSTALL_BINDIR}
483- -DDCMTK_ENABLE_BUILTIN_OFICONV_DATA:BOOL=${DCMTK_ENABLE_BUILTIN_OFICONV_DATA}
484497 ${CHARSET_CONVERSION_ARGS}
485498 DEPENDS
486499 ${JPEG_DEPENDENCY}
0 commit comments