diff Plugins/Samples/GdcmDecoding/CMakeLists.txt @ 983:80d4f1618b33 plugins

Sample plugin to replace DCMTK by GDCM when decoding images
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 01 Jul 2014 12:01:58 +0200
parents
children e077093bf1a9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/Samples/GdcmDecoding/CMakeLists.txt	Tue Jul 01 12:01:58 2014 +0200
@@ -0,0 +1,65 @@
+cmake_minimum_required(VERSION 2.8)
+
+project(GdcmDecoding)
+
+SET(ALLOW_DOWNLOADS ON CACHE BOOL "Allow CMake to download packages")
+SET(USE_SYSTEM_BOOST ON CACHE BOOL "Use the system version of Boost")
+SET(USE_SYSTEM_GOOGLE_LOG OFF CACHE BOOL "Use the system version of Google Log")
+
+set(ORTHANC_ROOT ${CMAKE_SOURCE_DIR}/../../..)
+
+if (${CMAKE_COMPILER_IS_GNUCXX})
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
+  set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
+endif()
+
+include(${ORTHANC_ROOT}/Resources/CMake/DownloadPackage.cmake)
+include(${ORTHANC_ROOT}/Resources/CMake/BoostConfiguration.cmake)
+include(${ORTHANC_ROOT}/Resources/CMake/GoogleLogConfiguration.cmake)
+
+find_package(GDCM REQUIRED)
+if (GDCM_FOUND)
+  include(${GDCM_USE_FILE})
+  set(GDCM_LIBRARIES 
+    gdcmCommon
+    gdcmDICT
+    gdcmDSED
+    gdcmIOD
+    gdcmjpeg12
+    gdcmjpeg16
+    gdcmjpeg8
+    gdcmMEXD
+    gdcmMSFF
+    )
+else(GDCM_FOUND)
+  message(FATAL_ERROR "Cannot find GDCM, did you set GDCM_DIR?")
+endif(GDCM_FOUND)
+
+
+include_directories(
+  ${ORTHANC_ROOT}/Plugins/OrthancCPlugin/
+  ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/Laaw
+  )
+add_library(GdcmDecoding SHARED
+  Plugin.cpp
+  OrthancContext.cpp
+
+  # Sources from Orthanc
+  ${GOOGLE_LOG_SOURCES}
+  ${ORTHANC_ROOT}/Core/ChunkedBuffer.cpp
+  ${ORTHANC_ROOT}/Core/Enumerations.cpp
+  ${ORTHANC_ROOT}/Core/ImageFormats/ImageAccessor.cpp
+  ${ORTHANC_ROOT}/Core/ImageFormats/ImageBuffer.cpp
+  ${ORTHANC_ROOT}/Core/ImageFormats/ImageProcessing.cpp
+  ${ORTHANC_ROOT}/Core/OrthancException.cpp
+  ${ORTHANC_ROOT}/Core/Toolbox.cpp
+  ${ORTHANC_ROOT}/Resources/ThirdParty/base64/base64.cpp
+  ${ORTHANC_ROOT}/Resources/ThirdParty/md5/md5.c
+  ${THIRD_PARTY_SOURCES}
+  )
+target_link_libraries(GdcmDecoding ${GDCM_LIBRARIES})
+
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+  target_link_libraries(GdcmDecoding pthread dl rt)
+endif()