diff Resources/CMake/DcmtkConfigurationStatic-3.6.4.cmake @ 3786:3801435e34a1 SylvainRouquette/fix-issue169-95b752c

integration Orthanc-1.6.0->SylvainRouquette
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 19 Mar 2020 11:48:30 +0100
parents f2df51bff2fd
children 05a363186da6
line wrap: on
line diff
--- a/Resources/CMake/DcmtkConfigurationStatic-3.6.4.cmake	Wed Mar 18 08:59:06 2020 +0100
+++ b/Resources/CMake/DcmtkConfigurationStatic-3.6.4.cmake	Thu Mar 19 11:48:30 2020 +0100
@@ -12,7 +12,12 @@
 
 set(DCMTK_BINARY_DIR ${DCMTK_SOURCES_DIR}/)
 set(DCMTK_CMAKE_INCLUDE ${DCMTK_SOURCES_DIR}/)
-set(DCMTK_WITH_THREADS ON)
+
+if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
+  set(DCMTK_WITH_THREADS OFF)  # Disable thread support in wasm/asm.js
+else()
+  set(DCMTK_WITH_THREADS ON)
+endif()
 
 add_definitions(-DDCMTK_INSIDE_LOG4CPLUS=1)
 
@@ -25,16 +30,25 @@
 DownloadPackage(${DCMTK_MD5} ${DCMTK_URL} "${DCMTK_SOURCES_DIR}")
 
 
-# Apply the patches
-execute_process(
-  COMMAND ${PATCH_EXECUTABLE} -p0 -N -i
-  ${ORTHANC_ROOT}/Resources/Patches/dcmtk-3.6.4.patch
-  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
-  RESULT_VARIABLE Failure
-  )
+if (FirstRun)
+  # Apply the patches
+  execute_process(
+    COMMAND ${PATCH_EXECUTABLE} -p0 -N -i
+    ${ORTHANC_ROOT}/Resources/Patches/dcmtk-3.6.4.patch
+    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+    RESULT_VARIABLE Failure
+    )
 
-if (FirstRun AND Failure)
-  message(FATAL_ERROR "Error while patching files")
+  if (Failure)
+    message(FATAL_ERROR "Error while patching a file")
+  endif()
+
+  configure_file(
+    ${ORTHANC_ROOT}/Resources/Patches/dcmtk-dcdict_orthanc.cc
+    ${DCMTK_SOURCES_DIR}/dcmdata/libsrc/dcdict_orthanc.cc
+    COPYONLY)
+else()
+  message("The patches for DCMTK have already been applied")
 endif()
 
 
@@ -152,19 +166,6 @@
 endif()
 
 
-if (ORTHANC_SANDBOXED)
-  configure_file(
-    ${ORTHANC_ROOT}/Resources/WebAssembly/dcdict.h
-    ${DCMTK_SOURCES_DIR}/dcmdata/include/dcmtk/dcmdata/dcdict.h
-    COPYONLY)
-  
-  configure_file(
-    ${ORTHANC_ROOT}/Resources/WebAssembly/dcdict.cc
-    ${DCMTK_SOURCES_DIR}/dcmdata/libsrc/dcdict.cc
-    COPYONLY)
-endif()
-
-
 list(REMOVE_ITEM DCMTK_SOURCES 
   ${DCMTK_SOURCES_DIR}/dcmdata/libsrc/mkdictbi.cc
   ${DCMTK_SOURCES_DIR}/dcmdata/libsrc/mkdeftag.cc