diff --git a/CMakeExternals/DCMTK.cmake b/CMakeExternals/DCMTK.cmake index 74ecb9a0dc..8b112c501b 100644 --- a/CMakeExternals/DCMTK.cmake +++ b/CMakeExternals/DCMTK.cmake @@ -1,62 +1,62 @@ #----------------------------------------------------------------------------- # DCMTK #----------------------------------------------------------------------------- if(MITK_USE_DCMTK) # Sanity checks if(DEFINED DCMTK_DIR AND NOT EXISTS ${DCMTK_DIR}) message(FATAL_ERROR "DCMTK_DIR variable is defined but corresponds to non-existing directory") endif() set(proj DCMTK) set(proj_DEPENDENCIES ) set(DCMTK_DEPENDS ${proj}) if(NOT DEFINED DCMTK_DIR) if(DCMTK_DICOM_ROOT_ID) set(DCMTK_CXX_FLAGS "${DCMTK_CXX_FLAGS} -DSITE_UID_ROOT=\\\"${DCMTK_DICOM_ROOT_ID}\\\"") set(DCMTK_C_FLAGS "${DCMTK_CXX_FLAGS} -DSITE_UID_ROOT=\\\"${DCMTK_DICOM_ROOT_ID}\\\"") endif() set(additional_args ) if(CTEST_USE_LAUNCHERS) list(APPEND additional_args "-DCMAKE_PROJECT_${proj}_INCLUDE:FILEPATH=${CMAKE_ROOT}/Modules/CTestUseLaunchers.cmake" ) endif() ExternalProject_Add(${proj} LIST_SEPARATOR ${sep} - URL ${MITK_THIRDPARTY_DOWNLOAD_PREFIX_URL}/dcmtk-3.6.1_20160216.tar.gz - URL_MD5 273c8a544b9fe09b8a4fb4eb51df8e52 + URL ${MITK_THIRDPARTY_DOWNLOAD_PREFIX_URL}/dcmtk-3.6.1_20161102.tar.gz + URL_MD5 682e12cf52c405e79724be614545709f PATCH_COMMAND ${PATCH_COMMAND} -N -p1 -i ${CMAKE_CURRENT_LIST_DIR}/DCMTK.patch CMAKE_GENERATOR ${gen} CMAKE_ARGS ${ep_common_args} ${additional_args} "-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS} ${DCMTK_CXX_FLAGS}" "-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS} ${DCMTK_C_FLAGS}" -DDCMTK_USE_CXX11_STL:BOOL=OFF -DDCMTK_WITH_DOXYGEN:BOOL=OFF -DDCMTK_WITH_ZLIB:BOOL=OFF # see bug #9894 -DDCMTK_WITH_OPENSSL:BOOL=OFF # see bug #9894 -DDCMTK_WITH_PNG:BOOL=OFF # see bug #9894 -DDCMTK_WITH_TIFF:BOOL=OFF # see bug #9894 -DDCMTK_WITH_XML:BOOL=OFF # see bug #9894 -DDCMTK_WITH_ICONV:BOOL=OFF # see bug #9894 CMAKE_CACHE_ARGS ${ep_common_cache_args} CMAKE_CACHE_DEFAULT_ARGS ${ep_common_cache_default_args} DEPENDS ${proj_DEPENDENCIES} ) set(DCMTK_DIR ${ep_prefix}) mitkFunctionInstallExternalCMakeProject(${proj}) else() mitkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}") endif() endif() diff --git a/CMakeExternals/DCMTK.patch b/CMakeExternals/DCMTK.patch index 22baa76226..414a8b0a82 100644 --- a/CMakeExternals/DCMTK.patch +++ b/CMakeExternals/DCMTK.patch @@ -1,35 +1,56 @@ diff --git a/CMake/GenerateDCMTKConfigure.cmake b/CMake/GenerateDCMTKConfigure.cmake index c936b4d..d82781b 100644 --- a/CMake/GenerateDCMTKConfigure.cmake +++ b/CMake/GenerateDCMTKConfigure.cmake @@ -548,6 +548,30 @@ ENDIF(DCMTK_WITH_OPENSSL) INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/dcmtkTryCompile.cmake) INCLUDE(${DCMTK_CMAKE_INCLUDE}CMake/dcmtkTryRun.cmake) +IF(NOT HAVE_PROTOTYPE_STD__ISINF) + unset(HAVE_PROTOTYPE_STD__ISINF CACHE) + DCMTK_TRY_COMPILE(HAVE_PROTOTYPE_STD__ISINF "std::isinf is provided as function template" + "#include + + int main() + { + std::isinf(0.0); + return 0; + }") +ENDIF(NOT HAVE_PROTOTYPE_STD__ISINF) + +IF(NOT HAVE_PROTOTYPE_STD__ISNAN) + unset(HAVE_PROTOTYPE_STD__ISNAN CACHE) + DCMTK_TRY_COMPILE(HAVE_PROTOTYPE_STD__ISNAN "std::isnan is provided as function template" + "#include + + int main() + { + std::isnan(0.0); + return 0; + }") +ENDIF(NOT HAVE_PROTOTYPE_STD__ISNAN) + IF(NOT DEFINED C_CHAR_UNSIGNED) MESSAGE(STATUS "Checking signedness of char") DCMTK_TRY_RUN(C_CHAR_SIGNED C_CHAR_SIGNED_COMPILED ${CMAKE_BINARY_DIR}/CMakeTmp/Char + +diff --git a/DCMTKConfig.cmake.in b/DCMTKConfig.cmake.in +index 89188d2..b77a856 100644 +--- a/CMake/DCMTKConfig.cmake.in ++++ b/CMake/DCMTKConfig.cmake.in +@@ -33,8 +33,15 @@ SET(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS @DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS@) + SET(DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS @DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS@) + SET(DCMTK_WIDE_CHAR_MAIN_FUNCTION @DCMTK_WIDE_CHAR_MAIN_FUNCTION@) + ++@DCMTK_INCLUDE_DIR_CONFIGS@ ++ + SET_AND_CHECK(DCMTK_TARGETS "@PACKAGE_DCMTK_CMKDIR_CONFIG@/DCMTKTargets.cmake") + ++SET(DCMTK_INCLUDE_DIRS "") ++FOREACH(module config ${DCMTK_MODULES}) ++ LIST(APPEND DCMTK_INCLUDE_DIRS ${DCMTK_${module}_INCLUDE_DIR}) ++ENDFOREACH(module) + + @DCMTK_CONFIG_CODE@ + + # Compatibility: This variable is deprecated