diff Resources/CMake/OrthancFrameworkConfiguration.cmake @ 2508:91ee08d986f9

possibility to disable zlib support in the Orthanc framework
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 28 Mar 2018 11:24:17 +0200
parents 9c54c40eaf25
children 04873915beaf
line wrap: on
line diff
--- a/Resources/CMake/OrthancFrameworkConfiguration.cmake	Mon Mar 26 18:31:40 2018 +0200
+++ b/Resources/CMake/OrthancFrameworkConfiguration.cmake	Wed Mar 28 11:24:17 2018 +0200
@@ -71,6 +71,11 @@
   add_definitions(-DORTHANC_ENABLE_JPEG=0)
 endif()
 
+if (NOT ENABLE_ZLIB)
+  unset(USE_SYSTEM_ZLIB CACHE)
+  add_definitions(-DORTHANC_ENABLE_ZLIB=0)
+endif()
+
 if (NOT ENABLE_PNG)
   unset(USE_SYSTEM_LIBPNG CACHE)
   add_definitions(-DORTHANC_ENABLE_PNG=0)
@@ -117,11 +122,6 @@
 set(ORTHANC_CORE_SOURCES_INTERNAL
   ${ORTHANC_ROOT}/Core/Cache/MemoryCache.cpp
   ${ORTHANC_ROOT}/Core/ChunkedBuffer.cpp
-  ${ORTHANC_ROOT}/Core/Compression/DeflateBaseCompressor.cpp
-  ${ORTHANC_ROOT}/Core/Compression/GzipCompressor.cpp
-  ${ORTHANC_ROOT}/Core/Compression/HierarchicalZipWriter.cpp
-  ${ORTHANC_ROOT}/Core/Compression/ZipWriter.cpp
-  ${ORTHANC_ROOT}/Core/Compression/ZlibCompressor.cpp
   ${ORTHANC_ROOT}/Core/DicomFormat/DicomArray.cpp
   ${ORTHANC_ROOT}/Core/DicomFormat/DicomImageInformation.cpp
   ${ORTHANC_ROOT}/Core/DicomFormat/DicomInstanceHasher.cpp
@@ -269,10 +269,36 @@
 
 
 ##
+## zlib support
+##
+
+if (ENABLE_ZLIB)
+  include(${CMAKE_CURRENT_LIST_DIR}/ZlibConfiguration.cmake)
+  add_definitions(-DORTHANC_ENABLE_ZLIB=1)
+
+  list(APPEND ORTHANC_CORE_SOURCES_INTERNAL
+    ${ORTHANC_ROOT}/Core/Compression/DeflateBaseCompressor.cpp
+    ${ORTHANC_ROOT}/Core/Compression/HierarchicalZipWriter.cpp
+    ${ORTHANC_ROOT}/Core/Compression/GzipCompressor.cpp
+    ${ORTHANC_ROOT}/Core/Compression/ZipWriter.cpp
+    ${ORTHANC_ROOT}/Core/Compression/ZlibCompressor.cpp
+
+    # This is the minizip distribution to create ZIP files using zlib
+    ${ORTHANC_ROOT}/Resources/ThirdParty/minizip/ioapi.c
+    ${ORTHANC_ROOT}/Resources/ThirdParty/minizip/zip.c
+    )
+endif()
+
+
+##
 ## PNG support: libpng (in conjunction with zlib)
 ##
 
 if (ENABLE_PNG)
+  if (NOT ENABLE_ZLIB)
+    message(FATAL_ERROR "Support for zlib must be enabled if enabling libpng support")
+  endif()
+
   include(${CMAKE_CURRENT_LIST_DIR}/LibPngConfiguration.cmake)
   add_definitions(-DORTHANC_ENABLE_PNG=1)
 
@@ -333,7 +359,6 @@
 #####################################################################
 
 include(${CMAKE_CURRENT_LIST_DIR}/JsonCppConfiguration.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/ZlibConfiguration.cmake)
 
 if (NOT ORTHANC_SANDBOXED)
   include(${CMAKE_CURRENT_LIST_DIR}/UuidConfiguration.cmake)
@@ -509,10 +534,6 @@
 
   ${ORTHANC_ROOT}/Resources/ThirdParty/md5/md5.c
   ${ORTHANC_ROOT}/Resources/ThirdParty/base64/base64.cpp
-
-  # This is the minizip distribution to create ZIP files using zlib
-  ${ORTHANC_ROOT}/Resources/ThirdParty/minizip/ioapi.c
-  ${ORTHANC_ROOT}/Resources/ThirdParty/minizip/zip.c
   )  
 
 set(ORTHANC_CORE_SOURCES