1set(USE_FIND_PACKAGE_DOCS "Control whether libraries are searched via CMake's find_package() mechanism or a Windows specific fallback") 2if(WIN32) 3 # For Windows, we don't used FIND_PACKAGE because DCMTK usually is used with its 4 # own set of 3rd-party support libraries that can be downloaded from DCMTK's 5 # website (pre-built). 6 if(MINGW) 7 set(DCMTK_USE_FIND_PACKAGE TRUE CACHE BOOL "${USE_FIND_PACKAGE_DOCS}") 8 else() 9 set(DCMTK_USE_FIND_PACKAGE FALSE CACHE BOOL "${USE_FIND_PACKAGE_DOCS}") 10 endif() 11else() 12 # Only find_package is supported 13 set(DCMTK_USE_FIND_PACKAGE TRUE CACHE BOOL "${USE_FIND_PACKAGE_DOCS}") 14 if(NOT DCMTK_USE_FIND_PACKAGE) 15 message(WARNING "Only find_package is supported on this platform, overriding user setting of DCMTK_USE_FIND_PACKAGE.") 16 set(DCMTK_USE_FIND_PACKAGE TRUE FORCE) 17 endif() 18endif() 19mark_as_advanced(DCMTK_USE_FIND_PACKAGE) 20 21if(DCMTK_USE_FIND_PACKAGE) 22 # Find TIFF 23 if(DCMTK_WITH_TIFF) 24 find_package(TIFF QUIET) 25 # turn off library if it could not be found 26 if(NOT TIFF_FOUND) 27 message(STATUS "Warning: TIFF support will be disabled because libtiff was not found.") 28 set(DCMTK_WITH_TIFF OFF CACHE BOOL "" FORCE) 29 set(WITH_LIBTIFF "") 30 else() 31 set(WITH_LIBTIFF 1) 32 # libtiff can be compiled with libjpeg support; if available, add libjpeg to library and include path 33 find_package(JPEG QUIET) 34 if(NOT JPEG_FOUND) 35 message(STATUS "Info: DCMTK TIFF support will be enabled (but without JPEG)") 36 include_directories(${TIFF_INCLUDE_DIR}) 37 else() 38 message(STATUS "Info: DCMTK TIFF support will be enabled") 39 include_directories(${TIFF_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) 40 endif() 41 set(LIBTIFF_LIBS ${TIFF_LIBRARY} ${JPEG_LIBRARY}) 42 endif() 43 endif() 44 45 # Find PNG 46 if(DCMTK_WITH_PNG) 47 find_package(PNG QUIET) 48 if(NOT PNG_FOUND) 49 set(DCMTK_WITH_PNG OFF CACHE BOOL "" FORCE) 50 message(STATUS "Warning: PNG support will be disabled because libpng was not found.") 51 set(WITH_LIBPNG "") 52 else() 53 message(STATUS "Info: DCMTK PNG support will be enabled") 54 set(WITH_LIBPNG 1) 55 include_directories(${PNG_INCLUDE_DIR}) 56 set(LIBPNG_LIBS ${PNG_LIBRARY}) 57 endif() 58 endif() 59 60 # Find OpenSSL 61 if(DCMTK_WITH_OPENSSL) 62 find_package(OpenSSL QUIET) 63 if(NOT OPENSSL_FOUND) 64 message(STATUS "Warning: OPENSSL support will be disabled because openssl was not found.") 65 set(WITH_OPENSSL "") 66 set(DCMTK_WITH_OPENSSL OFF CACHE BOOL "" FORCE) 67 else() 68 include(CheckLibraryExists) 69 include(CheckCXXSourceCompiles) 70 set(TEMP_INCLUDES "${CMAKE_REQUIRED_INCLUDES}") 71 list(APPEND CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCLUDE_DIR}") 72 CHECK_CXX_SOURCE_COMPILES("extern \"C\" {\n#include <openssl/ssl.h>\n}\nint main(){\n#if OPENSSL_VERSION_NUMBER < 0x10001000L\n#error OpenSSL too old\n#endif\n}\n" OPENSSL_VERSION_CHECK) 73 set(CMAKE_REQUIRED_INCLUDES "${TEMP_INCLUDES}") 74 if(OPENSSL_VERSION_CHECK) 75 message(STATUS "Info: DCMTK OPENSSL support will be enabled") 76 set(WITH_OPENSSL 1) 77 include_directories(${OPENSSL_INCLUDE_DIR}) 78 set(OPENSSL_LIBS ${OPENSSL_LIBRARIES}) 79 CHECK_LIBRARY_EXISTS(dl dlopen "" HAVE_LIBDL) 80 if(HAVE_LIBDL) 81 set(OPENSSL_LIBS ${OPENSSL_LIBS} dl) 82 endif() 83 else() 84 message(STATUS "Info: DCMTK OPENSSL support will be disabled: DCMTK requires OpenSSL version 1.0.1 or newer") 85 set(DCMTK_WITH_OPENSSL OFF CACHE BOOL "" FORCE) 86 set(WITH_OPENSSL "") 87 endif() 88 endif() 89 endif() 90 91 # Find libXML2 92 if(DCMTK_WITH_XML) 93 find_package(LibXml2 QUIET) 94 if(NOT LIBXML2_FOUND) 95 message(STATUS "Warning: XML support will be disabled because libxml2 was not found.") 96 set(WITH_LIBXML "") 97 set(DCMTK_WITH_XML OFF CACHE BOOL "" FORCE) 98 else() 99 message(STATUS "Info: DCMTK XML support will be enabled") 100 set(WITH_LIBXML 1) 101 include_directories(${LIBXML2_INCLUDE_DIR}) 102 set(LIBXML_LIBS ${LIBXML2_LIBRARIES}) 103 endif() 104 endif() 105 106 # Find zlib 107 if(DCMTK_WITH_ZLIB) 108 find_package(ZLIB QUIET) 109 if(NOT ZLIB_FOUND) 110 message(STATUS "Warning: ZLIB support will be disabled because zlib was not found.") 111 set(WITH_ZLIB "") 112 set(DCMTK_WITH_ZLIB OFF CACHE BOOL "" FORCE) 113 else() 114 message(STATUS "Info: DCMTK ZLIB support will be enabled") 115 set(WITH_ZLIB 1) 116 include_directories(${ZLIB_INCLUDE_DIRS}) 117 set(ZLIB_LIBS ${ZLIB_LIBRARIES}) 118 endif() 119 endif() 120 121 # Find libsndfile 122 if(DCMTK_WITH_SNDFILE) 123 find_package(Sndfile QUIET) 124 if(NOT SNDFILE_LIBS) 125 message(STATUS "Warning: SNDFILE support will be disabled because libsndfile was not found.") 126 set(WITH_SNDFILE "") 127 set(DCMTK_WITH_SNDFILE OFF CACHE BOOL "" FORCE) 128 else() 129 message(STATUS "Info: DCMTK SNDFILE support will be enabled") 130 set(WITH_SNDFILE 1) 131 include_directories(${SNDFILE_INCLUDE_DIRS}) 132 set(SNDFILE_LIBS ${SNDFILE_LIBRARIES}) 133 endif() 134 endif() 135 136 # Find libiconv 137 if(DCMTK_WITH_ICONV) 138 find_package(Iconv QUIET) 139 find_package(Charset QUIET) 140 if(ICONV_FOUND) 141 if(NOT Iconv_IS_BUILT_IN) 142 set(LIBICONV_FOUND ${ICONV_FOUND}) 143 else() 144 message(STATUS "Info: found builtin ICONV support inside the C standard library.") 145 set(DCMTK_WITH_STDLIBC_ICONV ON CACHE BOOL "" FORCE) 146 endif() 147 if(DEFINED ICONV_SECOND_ARGUMENT_IS_CONST) 148 get_property(HELPSTRING CACHE ICONV_SECOND_ARGUMENT_IS_CONST PROPERTY HELPSTRING) 149 set(LIBICONV_SECOND_ARGUMENT_CONST ${ICONV_SECOND_ARGUMENT_IS_CONST} CACHE INTERNAL "${HELPSTRING}") 150 endif() 151 endif() 152 if(NOT LIBICONV_FOUND OR NOT LIBCHARSET_FOUND) 153 message(STATUS "Warning: ICONV support will be disabled because libiconv was not found. Correct LIBICONV_LIBDIR and LIBICONV_INCLUDE_DIR and re-enable DCMTK_WITH_ICONV.") 154 set(DCMTK_WITH_ICONV OFF CACHE BOOL "" FORCE) 155 set(WITH_LIBICONV "") 156 else() 157 message(STATUS "Info: DCMTK ICONV support will be enabled") 158 set(WITH_LIBICONV 1) 159 set(LIBICONV_INCDIR ${LIBICONV_INCLUDE_DIRS} ${Iconv_INCLUDE_DIRS} ${ICONV_INCLUDE_DIR} ${LIBCHARSET_INCLUDE_DIRS}) 160 set(LIBICONV_LIBDIR ${LIBICONV_LIBDIR}) 161 set(LIBICONV_LIBS ${LIBICONV_LIBRARIES} ${Iconv_LIBRARIES} ${ICONV_LIBRARIES} ${LIBCHARSET_LIBRARY}) 162 include_directories(${LIBICONV_INCDIR}) 163 endif() 164 endif() 165 166 # Find libwrap 167 if(DCMTK_WITH_WRAP) 168 find_package(Wrap QUIET) 169 if(NOT WRAP_FOUND) 170 message(STATUS "Warning: WRAP support will be disabled because libwrap was not found.") 171 set(WITH_TCPWRAPPER "") 172 set(DCMTK_WITH_WRAP OFF CACHE BOOL "" FORCE) 173 else() 174 message(STATUS "Info: DCMTK WRAP support will be enabled") 175 set(WITH_TCPWRAPPER 1) 176 include_directories(${WRAP_INCLUDE_DIRS}) 177 set(WRAP_LIBS ${WRAP_LIBRARIES}) 178 endif() 179 endif() 180 181 # Find OpenJPEG 182 if(DCMTK_WITH_OPENJPEG) 183 find_package(OpenJPEG QUIET) 184 if(NOT OPENJPEG_FOUND) 185 message(STATUS "Warning: OpenJPEG support will be disabled because the OpenJPEG library was not found.") 186 set(WITH_OPENJPEG "") 187 set(DCMTK_WITH_OPENJPEG OFF CACHE BOOL "" FORCE) 188 else() 189 message(STATUS "Info: DCMTK OpenJPEG support will be enabled") 190 set(WITH_OPENJPEG 1) 191 include_directories(${OPENJPEG_INCLUDE_DIRS}) 192 set(OPENJPEG_LIBS ${OPENJPEG_LIBRARIES}) 193 endif() 194 endif() 195else() 196 if(NOT DEFINED DCMTK_SUPPORT_LIBRARIES_DIR) 197 get_filename_component(DCMTK_SUPPORT_LIBRARIES_DIR "${DCMTK_SOURCE_DIR}" PATH) 198 set(DCMTK_SUPPORT_LIBRARIES_DIR "${DCMTK_SUPPORT_LIBRARIES_DIR}" CACHE PATH "The directory to search for precompiled DCMTK support libraries.") 199 endif() 200 201 # libxml support: find out whether user has library 202 file(GLOB LIBXML_DIR "${DCMTK_SUPPORT_LIBRARIES_DIR}/libxml2*") 203 find_path(WITH_LIBXMLINC "${DCMTK_SUPPORT_LIBRARIES_DIR}/include/libxml/parser.h" "${LIBXML_DIR}" NO_DEFAULT_PATH) 204 205 # libpng support: find out whether user has library 206 file(GLOB LIBPNG_DIR "${DCMTK_SUPPORT_LIBRARIES_DIR}/libpng*") 207 find_path(WITH_LIBPNGINC "include/png.h" "${LIBPNG_DIR}" NO_DEFAULT_PATH) 208 209 # libtiff support: find out whether user has library 210 file(GLOB LIBTIFF_DIR "${DCMTK_SUPPORT_LIBRARIES_DIR}/libtiff*") 211 find_path(WITH_LIBTIFFINC "include/tiff.h" "${LIBTIFF_DIR}" NO_DEFAULT_PATH) 212 213 # OpenSSL support: find out whether user has library 214 file(GLOB OPENSSL_DIR "${DCMTK_SUPPORT_LIBRARIES_DIR}/openssl*") 215 find_path(WITH_OPENSSLINC "include/openssl/ssl.h" "${OPENSSL_DIR}" NO_DEFAULT_PATH) 216 217 # zlib support: find out whether user has library 218 file(GLOB ZLIB_DIR "${DCMTK_SUPPORT_LIBRARIES_DIR}/zlib*") 219 find_path(WITH_ZLIBINC "include/zlib.h" "${ZLIB_DIR}" NO_DEFAULT_PATH) 220 221 # sndfile support: find out whether user has library. Needed for module dcmwave (not in public DCMTK yet, marked as advanced) 222 file(GLOB SNDFILE_DIR "${DCMTK_SUPPORT_LIBRARIES_DIR}/libsndfile*") 223 find_path(WITH_SNDFILEINC "sndfile.h" "${SNDFILE_DIR}" NO_DEFAULT_PATH) 224 mark_as_advanced(SNDFILE_DIR WITH_SNDFILEINC) 225 226 # libiconv support: find out whether user has library 227 file(GLOB LIBICONV_DIR "${DCMTK_SUPPORT_LIBRARIES_DIR}/libiconv*") 228 find_path(WITH_LIBICONVINC "include/iconv.h" "${LIBICONV_DIR}" NO_DEFAULT_PATH) 229 230 # OpenJPEG support: find out whether user has library 231 file(GLOB OPENJPEG_DIR "${DCMTK_SUPPORT_LIBRARIES_DIR}/openjpeg*") 232 find_path(WITH_OPENJPEGINC "lib/openjp2_o.lib" "${OPENJPEG_DIR}" NO_DEFAULT_PATH) 233 234 # libxml support: configure compiler 235 if(DCMTK_WITH_XML) 236 if(WITH_LIBXMLINC) 237 set(LIBXML_INCDIR "${WITH_LIBXMLINC}/include") 238 set(LIBXML_LIBDIR "${WITH_LIBXMLINC}/lib") 239 set(LIBXML_LIBS debug "${LIBXML_LIBDIR}/libxml2_d.lib" optimized "${LIBXML_LIBDIR}/libxml2_o.lib" debug "${LIBXML_LIBDIR}/iconv_d.lib" optimized "${LIBXML_LIBDIR}/iconv_o.lib") 240 message(STATUS "Info: DCMTK XML support will be enabled") 241 set(WITH_LIBXML 1) 242 # this hides some warnings that are emitted when linking against libxmlXXX.lib instead of linking the DLL directly 243 add_definitions("-DLIBXML_STATIC") 244 else() # turn off library if library path not set 245 message(STATUS "Warning: XML support will be disabled because libxml2 directory is not specified. Correct path and re-enable DCMTK_WITH_XML.") 246 set(DCMTK_WITH_XML OFF CACHE BOOL "" FORCE) 247 set(WITH_LIBXML "") 248 endif() 249 endif() 250 251 # libpng support: configure compiler 252 if(DCMTK_WITH_PNG) 253 if(WITH_LIBPNGINC) 254 set(LIBPNG_INCDIR "${WITH_LIBPNGINC}/include") 255 set(LIBPNG_LIBDIR "${WITH_LIBPNGINC}/lib") 256 set(LIBPNG_LIBS debug "${LIBPNG_LIBDIR}/libpng_d.lib" optimized "${LIBPNG_LIBDIR}/libpng_o.lib") 257 message(STATUS "Info: DCMTK PNG support will be enabled") 258 set(WITH_LIBPNG 1) 259 else() # turn off library if library path not set 260 message(STATUS "Warning: PNG support will be disabled because libpng directory was not specified. Correct path and re-enable DCMTK_WITH_PNG.") 261 set(DCMTK_WITH_PNG OFF CACHE BOOL "" FORCE) 262 set(WITH_LIBPNG "") 263 endif() 264 endif() 265 266 # libtiff support: configure compiler 267 if(DCMTK_WITH_TIFF) 268 if(WITH_LIBTIFFINC) 269 set(LIBTIFF_INCDIR "${WITH_LIBTIFFINC}/include") 270 set(LIBTIFF_LIBDIR "${WITH_LIBTIFFINC}/lib") 271 set(LIBTIFF_LIBS debug "${LIBTIFF_LIBDIR}/libtiff_d.lib" optimized "${LIBTIFF_LIBDIR}/libtiff_o.lib") 272 message(STATUS "Info: DCMTK TIFF support will be enabled") 273 set(WITH_LIBTIFF 1) 274 else() # turn off library if library path not set 275 message(STATUS "Warning: TIFF support will be disabled because libtiff directory was not specified. Correct path and re-enable DCMTK_WITH_TIFF.") 276 set(DCMTK_WITH_TIFF OFF CACHE BOOL "" FORCE) 277 set(WITH_LIBTIFF "") 278 endif() 279 endif() 280 281 # OpenSSL support: configure compiler 282 if(DCMTK_WITH_OPENSSL) 283 if(WITH_OPENSSLINC) 284 include(CheckCXXSourceCompiles) 285 set(OPENSSL_BINDIR "${WITH_OPENSSLINC}/bin") 286 set(OPENSSL_INCDIR "${WITH_OPENSSLINC}/include") 287 set(OPENSSL_LIBDIR "${WITH_OPENSSLINC}/lib") 288 # starting with OpenSSL 1.1.0, the Windows crypt32 library is needed for a static link of OpenSSL. 289 set(OPENSSL_LIBS "crypt32" debug "${OPENSSL_LIBDIR}/dcmtkssl_d.lib" optimized "${OPENSSL_LIBDIR}/dcmtkssl_o.lib" debug "${OPENSSL_LIBDIR}/dcmtkcrypto_d.lib" optimized "${OPENSSL_LIBDIR}/dcmtkcrypto_o.lib") 290 set(TEMP_INCLUDES "${CMAKE_REQUIRED_INCLUDES}") 291 list(APPEND CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCDIR}") 292 CHECK_CXX_SOURCE_COMPILES("extern \"C\" {\n#include <openssl/ssl.h>\n}\nint main(){\n#if OPENSSL_VERSION_NUMBER < 0x10001000L\n#error OpenSSL too old\n#endif\n}\n" OPENSSL_VERSION_CHECK) 293 set(CMAKE_REQUIRED_INCLUDES "${TEMP_INCLUDES}") 294 if(OPENSSL_VERSION_CHECK) 295 message(STATUS "Info: DCMTK OPENSSL support will be enabled") 296 set(WITH_OPENSSL 1) 297 else() 298 message(STATUS "Info: DCMTK OPENSSL support will be disabled: DCMTK requires OpenSSL version 1.0.1 or newer") 299 set(DCMTK_WITH_OPENSSL OFF CACHE BOOL "" FORCE) 300 set(WITH_OPENSSL "") 301 endif() 302 else() # turn off library if library path not set 303 message(STATUS "Warning: OPENSSL support will be disabled because openssl directory was not specified. Correct path and re-enable DCMTK_WITH_OPENSSL.") 304 set(DCMTK_WITH_OPENSSL OFF CACHE BOOL "" FORCE) 305 set(WITH_OPENSSL "") 306 endif() 307 endif() 308 309 # zlib support: configure compiler 310 if(DCMTK_WITH_ZLIB) 311 if(WITH_ZLIBINC) 312 set(ZLIB_INCDIR "${WITH_ZLIBINC}/include") 313 set(ZLIB_LIBDIR "${WITH_ZLIBINC}/lib") 314 set(ZLIB_LIBS debug "${ZLIB_LIBDIR}/zlib_d.lib" optimized "${ZLIB_LIBDIR}/zlib_o.lib") 315 message(STATUS "Info: DCMTK ZLIB support will be enabled") 316 set(WITH_ZLIB 1) 317 else() # turn off library if library path not set 318 message(STATUS "Warning: ZLIB support will be disabled because zlib directory was not specified. Correct path and re-enable DCMTK_WITH_ZLIB.") 319 set(DCMTK_WITH_ZLIB OFF CACHE BOOL "" FORCE) 320 set(WITH_ZLIB "") 321 endif() 322 endif() 323 324 # sndfile support: configure compiler 325 if(DCMTK_WITH_SNDFILE) 326 if(WITH_SNDFILEINC) 327 set(SNDFILE_INCDIR "${WITH_SNDFILEINC}/include") 328 set(SNDFILE_LIBDIR "${WITH_SNDFILEINC}/lib") 329 set(SNDFILE_LIBS debug "${SNDFILE_LIBDIR}/libsndfile_d.lib" optimized "${SNDFILE_LIBDIR}/libsndfile_o.lib") 330 message(STATUS "Info: DCMTK SNDFILE support will be enabled") 331 set(WITH_SNDFILE 1) 332 else() # turn off library if library path not set 333 message(STATUS "Warning: SNDFILE support will be disabled because libsndfile directory was not specified. Correct path and re-enable DCMTK_WITH_SNDFILE.") 334 set(DCMTK_WITH_SNDFILE OFF CACHE BOOL "" FORCE) 335 set(WITH_SNDFILE "") 336 endif() 337 endif() 338 339 # libiconv support: configure compiler 340 if(DCMTK_WITH_ICONV) 341 if(WITH_LIBICONVINC) 342 set(LIBICONV_INCDIR "${WITH_LIBICONVINC}/include") 343 set(LIBICONV_LIBDIR "${WITH_LIBICONVINC}/lib") 344 set(LIBICONV_LIBS debug "${LIBICONV_LIBDIR}/libiconv_d.lib" optimized "${LIBICONV_LIBDIR}/libiconv_o.lib") 345 message(STATUS "Info: DCMTK ICONV support will be enabled") 346 set(WITH_LIBICONV 1) 347 else() # turn off library if library path not set 348 message(STATUS "Warning: ICONV support will be disabled because libiconv directory was not specified. Correct path and re-enable DCMTK_WITH_ICONV.") 349 set(DCMTK_WITH_ICONV OFF CACHE BOOL "" FORCE) 350 set(WITH_LIBICONV "") 351 endif() 352 endif() 353 354 # OpenJPEG support: configure compiler 355 if(DCMTK_WITH_OPENJPEG) 356 if(WITH_OPENJPEGINC) 357 # Unfortunately, OpenJPEG uses a version number in the include path. This needs special handling. 358 file(GLOB OPENJPEG2_DIR "${WITH_OPENJPEGINC}/include/openjpeg*") 359 find_path(WITH_OPENJPEGINC1 "openjpeg.h" "${OPENJPEG2_DIR}" NO_DEFAULT_PATH) 360 if ("${WITH_OPENJPEGINC1}" STREQUAL "WITH_OPENJPEGINC1-NOTFOUND") 361 message(STATUS "Info: DCMTK OpenJPEG support will be disabled because the header files were not found.") 362 set(DCMTK_WITH_OPENJPEG OFF CACHE BOOL "" FORCE) 363 set(WITH_OPENJPEG "") 364 else() 365 set(OPENJPEG_INCDIR "${WITH_OPENJPEGINC1}") 366 set(OPENJPEG_LIBDIR "${WITH_OPENJPEGINC}/lib") 367 set(OPENJPEG_LIBS debug "${OPENJPEG_LIBDIR}/openjp2_d.lib" optimized "${OPENJPEG_LIBDIR}/openjp2_o.lib") 368 message(STATUS "Info: DCMTK OpenJPEG support will be enabled") 369 set(WITH_OPENJPEG 1) 370 endif() 371 else() # turn off library if library path not set 372 message(STATUS "Warning: OpenJPEG support will be disabled because openjpeg directory was not specified. Correct path and re-enable DCMTK_WITH_OPENJPEG.") 373 set(DCMTK_WITH_OPENJPEG OFF CACHE BOOL "" FORCE) 374 set(WITH_OPENJPEG "") 375 endif() 376 endif() 377endif() 378 379if(NOT DEFINED DCMTK_WITH_STDLIBC_ICONV) 380 include(CheckCXXSourceCompiles) 381 CHECK_CXX_SOURCE_COMPILES("#include <iconv.h>\nint main(){iconv_t cd = iconv_open(\"\",\"\");iconv(cd,0,0,0,0);iconv_close(cd);return 0;}" WITH_STDLIBC_ICONV) 382 if(WITH_STDLIBC_ICONV) 383 message(STATUS "Info: found builtin ICONV support inside the C standard library.") 384 set(DCMTK_WITH_STDLIBC_ICONV ON CACHE BOOL "" FORCE) 385 else() 386 set(DCMTK_WITH_STDLIBC_ICONV OFF CACHE BOOL "" FORCE) 387 endif() 388endif() 389 390if(DCMTK_WITH_ICU) 391 find_package(ICU COMPONENTS uc data QUIET) 392 if(NOT ICU_FOUND) 393 message(STATUS "Warning: ICU support will be disabled because the ICU were not found.") 394 set(DCMTK_WITH_ICU OFF CACHE BOOL "" FORCE) 395 set(WITH_ICU "") 396 else() 397 message(STATUS "Info: DCMTK ICU support will be enabled") 398 set(WITH_ICU 1) 399 set(ICU_INCDIR ${ICU_INCLUDE_DIR}) 400 set(ICU_LIBS ${ICU_LIBRARIES}) 401 include_directories(${ICU_INCLUDE_DIR}) 402 endif() 403endif() 404 405# Find doxygen 406if(DCMTK_WITH_DOXYGEN) 407 find_package(Doxygen QUIET) # will set variable DOXYGEN_EXECUTABLE 408 if(NOT DOXYGEN_FOUND) 409 message(STATUS "Warning: DOXYGEN support will be disabled because doxygen was not found.") 410 set(DCMTK_WITH_DOXYGEN OFF CACHE BOOL "" FORCE) 411 endif() 412endif() 413 414if(DCMTK_WITH_ICONV OR DCMTK_WITH_STDLIBC_ICONV) 415 include(CheckCXXSourceCompiles) 416 set(CMAKE_REQUIRED_INCLUDES ${LIBICONV_INCDIR}) 417 set(CMAKE_REQUIRED_LIBRARIES ${LIBICONV_LIBS}) 418 CHECK_CXX_SOURCE_COMPILES(" 419 #include <iconv.h> 420 int main() { 421 iconv_t cd = 0; 422 const char *in = 0; 423 iconv(cd, &in, 0, 0, 0); 424 return 0; 425 }" LIBICONV_SECOND_ARGUMENT_CONST) 426 set(CMAKE_REQUIRED_INCLUDES) 427 set(CMAKE_REQUIRED_LIBRARIES) 428endif() 429