diff ViewerPlugin/CMakeLists.txt @ 140:a0f9a3df1110

resort to Orthanc framework
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 17 Apr 2018 15:47:47 +0200
parents 4f3945a2b725
children c9271bb5ef94
line wrap: on
line diff
--- a/ViewerPlugin/CMakeLists.txt	Wed Apr 11 16:24:26 2018 +0200
+++ b/ViewerPlugin/CMakeLists.txt	Tue Apr 17 15:47:47 2018 +0200
@@ -1,6 +1,8 @@
 cmake_minimum_required(VERSION 2.8)
 project(OrthancWSIPlugin)
 
+include(${CMAKE_SOURCE_DIR}/../Resources/CMake/Version.cmake)
+
 
 #####################################################################
 ## Parameters of the build
@@ -11,14 +13,8 @@
 SET(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages")
 
 # Advanced parameters to fine-tune linking against system libraries
-SET(USE_SYSTEM_BOOST ON CACHE BOOL "Use the system version of Boost")
-SET(USE_SYSTEM_JSONCPP ON CACHE BOOL "Use the system version of JsonCpp")
-SET(USE_SYSTEM_LIBJPEG ON CACHE BOOL "Use the system version of libjpeg")
-SET(USE_SYSTEM_LIBPNG ON CACHE BOOL "Use the system version of libpng")
 SET(USE_SYSTEM_OPENJPEG ON CACHE BOOL "Use the system version of OpenJpeg")
 SET(USE_SYSTEM_ORTHANC_SDK ON CACHE BOOL "Use the system version of the Orthanc plugin SDK")
-SET(USE_SYSTEM_ZLIB ON CACHE BOOL "Use the system version of ZLib")
-set(USE_SYSTEM_UUID ON CACHE BOOL "Use the system version of the uuid library from e2fsprogs")
 
 # Parameters related to OpenLayers
 SET(USE_SYSTEM_OPENLAYERS OFF CACHE BOOL "Use the system version of OpenLayers")
@@ -31,60 +27,32 @@
 #####################################################################
 
 SET(ORTHANC_WSI_DIR ${CMAKE_CURRENT_LIST_DIR}/..)
-SET(ORTHANC_ROOT ${ORTHANC_WSI_DIR}/Resources/Orthanc)
-
 SET(USE_OPENJPEG_JP2 ON)
-SET(ENABLE_LOCALE OFF)         # Disable support for locales (notably in Boost)
 
-include(CheckIncludeFile)
-include(CheckIncludeFileCXX)
-include(CheckIncludeFiles)
-include(CheckLibraryExists)
-include(CheckSymbolExists)
-include(FindPkgConfig)
-include(FindPythonInterp)
+include(${CMAKE_SOURCE_DIR}/../Resources/Orthanc/DownloadOrthancFramework.cmake)
+
+set(ORTHANC_FRAMEWORK_PLUGIN ON)
+include(${ORTHANC_ROOT}/Resources/CMake/OrthancFrameworkParameters.cmake)
 
-include(${ORTHANC_ROOT}/Resources/CMake/Compiler.cmake)
-include(${ORTHANC_ROOT}/Resources/CMake/AutoGeneratedCode.cmake)
-include(${ORTHANC_ROOT}/Resources/CMake/DownloadPackage.cmake)
-include(${ORTHANC_ROOT}/Resources/CMake/VisualStudioPrecompiledHeaders.cmake)
+set(ENABLE_LOCALE OFF)         # Disable support for locales (notably in Boost)
+set(ENABLE_ZLIB ON)
+set(ENABLE_PNG ON)
+set(ENABLE_JPEG ON)
 
-# Third-party components shipped with Orthanc
-include(${ORTHANC_ROOT}/Resources/CMake/BoostConfiguration.cmake)
-include(${ORTHANC_ROOT}/Resources/CMake/JsonCppConfiguration.cmake)
-include(${ORTHANC_ROOT}/Resources/CMake/LibJpegConfiguration.cmake)
-include(${ORTHANC_ROOT}/Resources/CMake/LibPngConfiguration.cmake)
-include(${ORTHANC_ROOT}/Resources/CMake/UuidConfiguration.cmake)
-include(${ORTHANC_ROOT}/Resources/CMake/ZlibConfiguration.cmake)
+include(${ORTHANC_ROOT}/Resources/CMake/OrthancFrameworkConfiguration.cmake)
+include_directories(${ORTHANC_ROOT})
 
 # Include components specific to WSI
 include(${ORTHANC_WSI_DIR}/Resources/CMake/Version.cmake)
 include(${ORTHANC_WSI_DIR}/Resources/CMake/OpenJpegConfiguration.cmake)
 
-add_definitions(
-  -DHAS_ORTHANC_EXCEPTION=1
-  -DORTHANC_DEFAULT_DICOM_ENCODING=Encoding_Latin1
-  -DORTHANC_ENABLE_BASE64=0
-  -DORTHANC_ENABLE_CURL=0
-  -DORTHANC_ENABLE_DCMTK=0
-  -DORTHANC_ENABLE_JPEG=1
-  -DORTHANC_ENABLE_LOCALE=0
-  -DORTHANC_ENABLE_LOGGING=1
-  -DORTHANC_ENABLE_LOGGING_PLUGIN=1
-  -DORTHANC_ENABLE_LOGGING_STDIO=0
-  -DORTHANC_ENABLE_MD5=0
-  -DORTHANC_ENABLE_PNG=1
-  -DORTHANC_ENABLE_PUGIXML=0
-  -DORTHANC_SANDBOXED=0
-  )
-
 
 #####################################################################
 ## Find the Orthanc SDK
 #####################################################################
 
 if (STATIC_BUILD OR NOT USE_SYSTEM_ORTHANC_SDK)
-  include_directories(${ORTHANC_ROOT}/Sdk-1.0.0)
+  include_directories(${CMAKE_SOURCE_DIR}/../Resources/Orthanc/Sdk-1.0.0)
 else ()
   CHECK_INCLUDE_FILE_CXX(orthanc/OrthancCPlugin.h HAVE_ORTHANC_H)
   if (NOT HAVE_ORTHANC_H)
@@ -170,6 +138,7 @@
 set(ORTHANC_WSI_SOURCES
   DicomPyramidCache.cpp
   Plugin.cpp
+
   ${ORTHANC_WSI_DIR}/Framework/DicomToolbox.cpp
   ${ORTHANC_WSI_DIR}/Framework/Enumerations.cpp
   ${ORTHANC_WSI_DIR}/Framework/ImageToolbox.cpp
@@ -179,25 +148,7 @@
   ${ORTHANC_WSI_DIR}/Framework/Inputs/PyramidWithRawTiles.cpp
   ${ORTHANC_WSI_DIR}/Framework/Jpeg2000Reader.cpp
   ${ORTHANC_WSI_DIR}/Framework/Jpeg2000Writer.cpp
-  )
 
-set(ORTHANC_CORE_SOURCES
-  ${ORTHANC_ROOT}/Core/ChunkedBuffer.cpp
-  ${ORTHANC_ROOT}/Core/Enumerations.cpp
-  ${ORTHANC_ROOT}/Core/Images/IImageWriter.cpp
-  ${ORTHANC_ROOT}/Core/Images/Image.cpp
-  ${ORTHANC_ROOT}/Core/Images/ImageAccessor.cpp
-  ${ORTHANC_ROOT}/Core/Images/ImageBuffer.cpp
-  ${ORTHANC_ROOT}/Core/Images/ImageProcessing.cpp
-  ${ORTHANC_ROOT}/Core/Images/JpegErrorManager.cpp
-  ${ORTHANC_ROOT}/Core/Images/JpegReader.cpp
-  ${ORTHANC_ROOT}/Core/Images/JpegWriter.cpp
-  ${ORTHANC_ROOT}/Core/Images/PngReader.cpp
-  ${ORTHANC_ROOT}/Core/Images/PngWriter.cpp
-  ${ORTHANC_ROOT}/Core/Logging.cpp
-  ${ORTHANC_ROOT}/Core/MultiThreading/Semaphore.cpp
-  ${ORTHANC_ROOT}/Core/SystemToolbox.cpp
-  ${ORTHANC_ROOT}/Core/Toolbox.cpp
   ${ORTHANC_ROOT}/Plugins/Samples/Common/DicomDatasetReader.cpp
   ${ORTHANC_ROOT}/Plugins/Samples/Common/DicomPath.cpp
   ${ORTHANC_ROOT}/Plugins/Samples/Common/FullOrthancDataset.cpp
@@ -216,7 +167,7 @@
 
   ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS(
     "PrecompiledHeaders.h" "${ORTHANC_WSI_DIR}/Resources/Orthanc/Core/PrecompiledHeaders.cpp"
-    ORTHANC_CORE_SOURCES ORTHANC_CORE_PCH)
+    ORTHANC_CORE_SOURCES_INTERNAL ORTHANC_CORE_PCH)
 
   ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS(
     "PrecompiledHeadersWSI.h" "${ORTHANC_WSI_DIR}/Framework/PrecompiledHeadersWSI.cpp"
@@ -232,19 +183,12 @@
 
 add_library(OrthancWSI SHARED
   ${ORTHANC_CORE_PCH}
-  ${ORTHANC_CORE_SOURCES}
+  ${ORTHANC_CORE_SOURCES_INTERNAL}
+  ${ORTHANC_CORE_SOURCES_DEPENDENCIES}
   ${ORTHANC_WSI_PCH}
   ${ORTHANC_WSI_SOURCES}
   ${AUTOGENERATED_SOURCES}
-  
-  # Mandatory components
-  ${BOOST_SOURCES}
-  ${JSONCPP_SOURCES}
-  ${LIBJPEG_SOURCES}
-  ${LIBPNG_SOURCES}
   ${OPENJPEG_SOURCES}
-  ${UUID_SOURCES}
-  ${ZLIB_SOURCES}
   )
 
 message("Setting the version of the library to ${ORTHANC_WSI_VERSION}")