Skip to content

Commit 6816be7

Browse files
authored
Merge pull request #6407 from hjmjohnson/dcmtk-disable-redundant-iconv-probe
COMP: Pin DCMTK charset-conversion backend, disabling external iconv
2 parents c352514 + b875592 commit 6816be7

1 file changed

Lines changed: 22 additions & 9 deletions

File tree

Modules/ThirdParty/DCMTK/CMakeLists.txt

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,22 @@ set(ITKDCMTK_NO_SRC 1)
77

88
include(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+
)
1015
if(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()
111119
else()
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+
)
113127
endif()
114128

115129
set(
@@ -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

Comments
 (0)