comparison OrthancServer/Plugins/Samples/MultitenantDicom/CMakeLists.txt @ 5273:7cb1b851f5c8

Added a sample plugin bringing multitenant DICOM support through labels
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 14 Apr 2023 11:49:24 +0200
parents
children fddb5d8d0021
comparison
equal deleted inserted replaced
5272:a45e8b6115f6 5273:7cb1b851f5c8
1 # Orthanc - A Lightweight, RESTful DICOM Store
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
3 # Department, University Hospital of Liege, Belgium
4 # Copyright (C) 2017-2023 Osimis S.A., Belgium
5 # Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
6 #
7 # This program is free software: you can redistribute it and/or
8 # modify it under the terms of the GNU General Public License as
9 # published by the Free Software Foundation, either version 3 of the
10 # License, or (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
20
21 cmake_minimum_required(VERSION 2.8)
22
23 project(MultitenantDicom)
24
25 SET(ORTHANC_PLUGIN_VERSION "0.0" CACHE STRING "Version of the plugin")
26 SET(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)")
27 SET(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages")
28
29 include(${CMAKE_SOURCE_DIR}/../Common/OrthancPlugins.cmake)
30 include(${CMAKE_SOURCE_DIR}/../../../../OrthancFramework/Resources/CMake/OrthancFrameworkParameters.cmake)
31
32 set(ENABLE_LOCALE ON CACHE INTERNAL "")
33 set(ENABLE_DCMTK ON CACHE INTERNAL "")
34 set(ENABLE_DCMTK_NETWORKING ON CACHE INTERNAL "")
35 set(ENABLE_DCMTK_TRANSCODING OFF CACHE INTERNAL "")
36
37 set(ENABLE_MODULE_DICOM ON CACHE INTERNAL "")
38 set(ENABLE_MODULE_IMAGES ON CACHE INTERNAL "")
39 set(ENABLE_MODULE_JOBS OFF CACHE INTERNAL "")
40
41 include(${CMAKE_SOURCE_DIR}/../../../../OrthancFramework/Resources/CMake/OrthancFrameworkConfiguration.cmake)
42
43 add_library(MultitenantDicom SHARED
44 DicomFilter.cpp
45 FindRequestHandler.cpp
46 MoveRequestHandler.cpp
47 MultitenantDicomServer.cpp
48 Plugin.cpp
49 PluginToolbox.cpp
50 StoreRequestHandler.cpp
51
52 ${CMAKE_SOURCE_DIR}/../Common/OrthancPluginCppWrapper.cpp
53 ${ORTHANC_CORE_SOURCES}
54 ${ORTHANC_DICOM_SOURCES}
55 ${AUTOGENERATED_SOURCES}
56 )
57
58 target_link_libraries(MultitenantDicom ${DCMTK_LIBRARIES})
59
60 message("Setting the version of the plugin to ${ORTHANC_PLUGIN_VERSION}")
61 add_definitions(-DORTHANC_PLUGIN_VERSION="${ORTHANC_PLUGIN_VERSION}")
62
63 set_target_properties(MultitenantDicom PROPERTIES
64 VERSION ${ORTHANC_PLUGIN_VERSION}
65 SOVERSION ${ORTHANC_PLUGIN_VERSION})
66
67 install(
68 TARGETS MultitenantDicom
69 RUNTIME DESTINATION lib # Destination for Windows
70 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux
71 )