comparison Resources/CMake/DcmtkConfigurationStatic-3.6.2.cmake @ 3593:0301f59450fe

improved the patch for loading DICOM dictionary from memory
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 06 Jan 2020 17:58:15 +0100
parents 4b1017928fc4
children 0654d0838de8
comparison
equal deleted inserted replaced
3592:de1665e7b341 3593:0301f59450fe
29 # "3.6.2 CXX11 fails on Linux; patch suggestions included" 29 # "3.6.2 CXX11 fails on Linux; patch suggestions included"
30 # https://forum.dcmtk.org/viewtopic.php?f=3&t=4637 30 # https://forum.dcmtk.org/viewtopic.php?f=3&t=4637
31 message("Applying patch to detect mathematic primitives in DCMTK 3.6.2 with C++11") 31 message("Applying patch to detect mathematic primitives in DCMTK 3.6.2 with C++11")
32 execute_process( 32 execute_process(
33 COMMAND ${PATCH_EXECUTABLE} -p0 -N -i 33 COMMAND ${PATCH_EXECUTABLE} -p0 -N -i
34 ${ORTHANC_ROOT}/Resources/Patches/dcmtk-3.6.2-cmath.patch 34 ${ORTHANC_ROOT}/Resources/Patches/dcmtk-3.6.2.patch
35 WORKING_DIRECTORY ${CMAKE_BINARY_DIR} 35 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
36 RESULT_VARIABLE Failure 36 RESULT_VARIABLE Failure
37 ) 37 )
38 38
39 if (Failure) 39 if (Failure)
40 message(FATAL_ERROR "Error while patching a file") 40 message(FATAL_ERROR "Error while patching a file")
41 endif() 41 endif()
42
43 configure_file(
44 ${ORTHANC_ROOT}/Resources/Patches/dcmtk-dcdict_orthanc.cc
45 ${DCMTK_SOURCES_DIR}/dcmdata/libsrc/dcdict_orthanc.cc
46 COPYONLY)
42 else() 47 else()
43 message("The patches for DCMTK have already been applied") 48 message("The patches for DCMTK have already been applied")
44 endif() 49 endif()
45 50
46 51
70 75
71 if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase") 76 if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase")
72 SET(DCMTK_ENABLE_CHARSET_CONVERSION "iconv" CACHE STRING "") 77 SET(DCMTK_ENABLE_CHARSET_CONVERSION "iconv" CACHE STRING "")
73 SET(HAVE_SYS_GETTID 0 CACHE INTERNAL "") 78 SET(HAVE_SYS_GETTID 0 CACHE INTERNAL "")
74 79
75 execute_process( 80 if (FirstRun)
76 COMMAND ${PATCH_EXECUTABLE} -p0 -N -i 81 execute_process(
77 ${ORTHANC_ROOT}/Resources/Patches/dcmtk-3.6.2-linux-standard-base.patch 82 COMMAND ${PATCH_EXECUTABLE} -p0 -N -i
78 WORKING_DIRECTORY ${CMAKE_BINARY_DIR} 83 ${ORTHANC_ROOT}/Resources/Patches/dcmtk-3.6.2-linux-standard-base.patch
79 RESULT_VARIABLE Failure 84 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
80 ) 85 RESULT_VARIABLE Failure
86 )
81 87
82 if (FirstRun AND Failure) 88 if (Failure)
83 message(FATAL_ERROR "Error while patching a file") 89 message(FATAL_ERROR "Error while patching a file")
90 endif()
84 endif() 91 endif()
85 endif() 92 endif()
93
86 94
87 SET(DCMTK_SOURCE_DIR ${DCMTK_SOURCES_DIR}) 95 SET(DCMTK_SOURCE_DIR ${DCMTK_SOURCES_DIR})
88 include(${DCMTK_SOURCES_DIR}/CMake/CheckFunctionWithHeaderExists.cmake) 96 include(${DCMTK_SOURCES_DIR}/CMake/CheckFunctionWithHeaderExists.cmake)
89 include(${DCMTK_SOURCES_DIR}/CMake/GenerateDCMTKConfigure.cmake) 97 include(${DCMTK_SOURCES_DIR}/CMake/GenerateDCMTKConfigure.cmake)
90 98
161 ${DCMTK_SOURCES_DIR}/oflog/libsrc/clfsap.cc 169 ${DCMTK_SOURCES_DIR}/oflog/libsrc/clfsap.cc
162 ) 170 )
163 endif() 171 endif()
164 172
165 173
166 if (ORTHANC_SANDBOXED)
167 configure_file(
168 ${ORTHANC_ROOT}/Resources/WebAssembly/dcdict.h
169 ${DCMTK_SOURCES_DIR}/dcmdata/include/dcmtk/dcmdata/dcdict.h
170 COPYONLY)
171
172 configure_file(
173 ${ORTHANC_ROOT}/Resources/WebAssembly/dcdict.cc
174 ${DCMTK_SOURCES_DIR}/dcmdata/libsrc/dcdict.cc
175 COPYONLY)
176 endif()
177
178
179 #set_source_files_properties(${DCMTK_SOURCES} 174 #set_source_files_properties(${DCMTK_SOURCES}
180 # PROPERTIES COMPILE_DEFINITIONS 175 # PROPERTIES COMPILE_DEFINITIONS
181 # "PACKAGE_VERSION=\"${DCMTK_PACKAGE_VERSION}\";PACKAGE_VERSION_NUMBER=\"${DCMTK_VERSION_NUMBER}\"") 176 # "PACKAGE_VERSION=\"${DCMTK_PACKAGE_VERSION}\";PACKAGE_VERSION_NUMBER=\"${DCMTK_VERSION_NUMBER}\"")
182 177
183 178