Mercurial > hg > orthanc
annotate OrthancServer/CMakeLists.txt @ 5824:79ac3924eff8 attach-custom-data tip
doc
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Wed, 02 Oct 2024 11:41:01 +0200 |
parents | a451777236fb |
children |
rev | line source |
---|---|
4124
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
1 # Orthanc - A Lightweight, RESTful DICOM Store |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
3 # Department, University Hospital of Liege, Belgium |
5640
f7adfb22e20e
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5573
diff
changeset
|
4 # Copyright (C) 2017-2023 Osimis S.A., Belgium |
f7adfb22e20e
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5573
diff
changeset
|
5 # Copyright (C) 2024-2024 Orthanc Team SRL, Belgium |
5485
48b8dae6dc77
upgrade to year 2024
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5357
diff
changeset
|
6 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium |
4124
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
7 # |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
8 # This program is free software: you can redistribute it and/or |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
9 # modify it under the terms of the GNU General Public License as |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
10 # published by the Free Software Foundation, either version 3 of the |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
11 # License, or (at your option) any later version. |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
12 # |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
13 # This program is distributed in the hope that it will be useful, but |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
14 # WITHOUT ANY WARRANTY; without even the implied warranty of |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
16 # General Public License for more details. |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
17 # |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
18 # You should have received a copy of the GNU General Public License |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
19 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
20 |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
21 |
2691 | 22 cmake_minimum_required(VERSION 2.8) |
4170
1657c8700974
better fix for CMP0058
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4168
diff
changeset
|
23 cmake_policy(SET CMP0058 NEW) |
2691 | 24 |
25 project(Orthanc) | |
26 | |
27 | |
28 ##################################################################### | |
29 ## Generic parameters of the Orthanc framework | |
30 ##################################################################### | |
31 | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
32 include(${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/CMake/OrthancFrameworkParameters.cmake) |
2691 | 33 |
34 # Enable all the optional components of the Orthanc framework | |
35 set(ENABLE_CRYPTO_OPTIONS ON) | |
36 set(ENABLE_DCMTK ON) | |
37 set(ENABLE_DCMTK_NETWORKING ON) | |
3893 | 38 set(ENABLE_DCMTK_TRANSCODING ON) |
2691 | 39 set(ENABLE_GOOGLE_TEST ON) |
40 set(ENABLE_JPEG ON) | |
41 set(ENABLE_LOCALE ON) | |
42 set(ENABLE_LUA ON) | |
3723
cc6d4edfe8fe
fix pkcs11 compilation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3633
diff
changeset
|
43 set(ENABLE_OPENSSL_ENGINES ON) # OpenSSL engines are necessary for PKCS11 |
2691 | 44 set(ENABLE_PNG ON) |
45 set(ENABLE_PUGIXML ON) | |
46 set(ENABLE_SQLITE ON) | |
47 set(ENABLE_WEB_CLIENT ON) | |
48 set(ENABLE_WEB_SERVER ON) | |
49 set(ENABLE_ZLIB ON) | |
50 | |
51 | |
52 ##################################################################### | |
53 ## CMake parameters tunable at the command line to configure the | |
54 ## plugins, the companion tools, and the unit tests | |
55 ##################################################################### | |
56 | |
57 # Parameters of the build | |
4030
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
58 set(STANDALONE_BUILD ON CACHE BOOL "Standalone build (all the resources are embedded, necessary for releases)") |
2691 | 59 SET(BUILD_MODALITY_WORKLISTS ON CACHE BOOL "Whether to build the sample plugin to serve modality worklists") |
60 SET(BUILD_RECOVER_COMPRESSED_FILE ON CACHE BOOL "Whether to build the companion tool to recover files compressed using Orthanc") | |
61 SET(BUILD_SERVE_FOLDERS ON CACHE BOOL "Whether to build the ServeFolders plugin") | |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
62 SET(BUILD_CONNECTIVITY_CHECKS ON CACHE BOOL "Whether to build the ConnectivityChecks plugin") |
4979
f316413027fd
renamed DbOptizer into Housekeeper + add Scheduler & triggers
Alain Mazy <am@osimis.io>
parents:
4971
diff
changeset
|
63 SET(BUILD_HOUSEKEEPER ON CACHE BOOL "Whether to build the Housekeeper plugin") |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
64 SET(BUILD_DELAYED_DELETION ON CACHE BOOL "Whether to build the DelayedDeletion plugin") |
5080
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
65 SET(BUILD_ADVANCED_STORAGE ON CACHE BOOL "Whether to build the AdvancedStorage plugin") |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
66 SET(BUILD_MULTITENANT_DICOM ON CACHE BOOL "Whether to build the MultitenantDicom plugin") |
2691 | 67 SET(ENABLE_PLUGINS ON CACHE BOOL "Enable plugins") |
68 SET(UNIT_TESTS_WITH_HTTP_CONNEXIONS ON CACHE BOOL "Allow unit tests to make HTTP requests") | |
69 | |
70 | |
71 ##################################################################### | |
72 ## Configuration of the Orthanc framework | |
73 ##################################################################### | |
74 | |
5193
1a878922404b
removed unused IDatabaseWrapper::IsExistingResource()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5189
diff
changeset
|
75 if (ENABLE_PLUGINS) |
1a878922404b
removed unused IDatabaseWrapper::IsExistingResource()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5189
diff
changeset
|
76 set(ENABLE_PROTOBUF ON) |
1a878922404b
removed unused IDatabaseWrapper::IsExistingResource()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5189
diff
changeset
|
77 set(ENABLE_PROTOBUF_COMPILER ON) |
1a878922404b
removed unused IDatabaseWrapper::IsExistingResource()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5189
diff
changeset
|
78 endif() |
1a878922404b
removed unused IDatabaseWrapper::IsExistingResource()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5189
diff
changeset
|
79 |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
80 include(${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/CMake/VisualStudioPrecompiledHeaders.cmake) |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
81 include(${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/CMake/OrthancFrameworkConfiguration.cmake) |
2691 | 82 |
4099
bf1a17f12306
moving version scripts from OrthancFramework to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4096
diff
changeset
|
83 # To export the proper symbols in the sample plugins |
bf1a17f12306
moving version scripts from OrthancFramework to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4096
diff
changeset
|
84 include(${CMAKE_SOURCE_DIR}/Plugins/Samples/Common/OrthancPluginsExports.cmake) |
bf1a17f12306
moving version scripts from OrthancFramework to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4096
diff
changeset
|
85 |
2691 | 86 |
87 ##################################################################### | |
88 ## List of source files | |
89 ##################################################################### | |
90 | |
91 set(ORTHANC_SERVER_SOURCES | |
5516 | 92 ${CMAKE_SOURCE_DIR}/Sources/Database/BaseDatabaseWrapper.cpp |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
93 ${CMAKE_SOURCE_DIR}/Sources/Database/Compatibility/DatabaseLookup.cpp |
5554
12d8a1a266e9
introduction of FindRequest and FindResponse
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5545
diff
changeset
|
94 ${CMAKE_SOURCE_DIR}/Sources/Database/Compatibility/GenericFind.cpp |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
95 ${CMAKE_SOURCE_DIR}/Sources/Database/Compatibility/ICreateInstance.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
96 ${CMAKE_SOURCE_DIR}/Sources/Database/Compatibility/IGetChildrenMetadata.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
97 ${CMAKE_SOURCE_DIR}/Sources/Database/Compatibility/ILookupResourceAndParent.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
98 ${CMAKE_SOURCE_DIR}/Sources/Database/Compatibility/ILookupResources.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
99 ${CMAKE_SOURCE_DIR}/Sources/Database/Compatibility/SetOfResources.cpp |
5554
12d8a1a266e9
introduction of FindRequest and FindResponse
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5545
diff
changeset
|
100 ${CMAKE_SOURCE_DIR}/Sources/Database/FindRequest.cpp |
12d8a1a266e9
introduction of FindRequest and FindResponse
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5545
diff
changeset
|
101 ${CMAKE_SOURCE_DIR}/Sources/Database/FindResponse.cpp |
5614
4640b7ae9a11
moving normalization of constraints into FindRequest
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5608
diff
changeset
|
102 ${CMAKE_SOURCE_DIR}/Sources/Database/MainDicomTagsRegistry.cpp |
5554
12d8a1a266e9
introduction of FindRequest and FindResponse
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5545
diff
changeset
|
103 ${CMAKE_SOURCE_DIR}/Sources/Database/OrthancIdentifiers.cpp |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
104 ${CMAKE_SOURCE_DIR}/Sources/Database/ResourcesContent.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
105 ${CMAKE_SOURCE_DIR}/Sources/Database/SQLiteDatabaseWrapper.cpp |
4586
1d96fe7e054e
taking StatelessDatabaseOperations out of ServerIndex
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4520
diff
changeset
|
106 ${CMAKE_SOURCE_DIR}/Sources/Database/StatelessDatabaseOperations.cpp |
4591
ff8170d17d90
moving all accesses to databases from IDatabaseWrapper to ITransaction
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4586
diff
changeset
|
107 ${CMAKE_SOURCE_DIR}/Sources/Database/VoidDatabaseListener.cpp |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
108 ${CMAKE_SOURCE_DIR}/Sources/DicomInstanceOrigin.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
109 ${CMAKE_SOURCE_DIR}/Sources/DicomInstanceToStore.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
110 ${CMAKE_SOURCE_DIR}/Sources/EmbeddedResourceHttpHandler.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
111 ${CMAKE_SOURCE_DIR}/Sources/ExportedResource.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
112 ${CMAKE_SOURCE_DIR}/Sources/LuaScripting.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
113 ${CMAKE_SOURCE_DIR}/Sources/OrthancConfiguration.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
114 ${CMAKE_SOURCE_DIR}/Sources/OrthancFindRequestHandler.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
115 ${CMAKE_SOURCE_DIR}/Sources/OrthancGetRequestHandler.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
116 ${CMAKE_SOURCE_DIR}/Sources/OrthancHttpHandler.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
117 ${CMAKE_SOURCE_DIR}/Sources/OrthancInitialization.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
118 ${CMAKE_SOURCE_DIR}/Sources/OrthancMoveRequestHandler.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
119 ${CMAKE_SOURCE_DIR}/Sources/OrthancRestApi/OrthancRestAnonymizeModify.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
120 ${CMAKE_SOURCE_DIR}/Sources/OrthancRestApi/OrthancRestApi.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
121 ${CMAKE_SOURCE_DIR}/Sources/OrthancRestApi/OrthancRestArchive.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
122 ${CMAKE_SOURCE_DIR}/Sources/OrthancRestApi/OrthancRestChanges.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
123 ${CMAKE_SOURCE_DIR}/Sources/OrthancRestApi/OrthancRestModalities.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
124 ${CMAKE_SOURCE_DIR}/Sources/OrthancRestApi/OrthancRestResources.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
125 ${CMAKE_SOURCE_DIR}/Sources/OrthancRestApi/OrthancRestSystem.cpp |
4240 | 126 ${CMAKE_SOURCE_DIR}/Sources/OrthancWebDav.cpp |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
127 ${CMAKE_SOURCE_DIR}/Sources/QueryRetrieveHandler.cpp |
5608 | 128 ${CMAKE_SOURCE_DIR}/Sources/ResourceFinder.cpp |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
129 ${CMAKE_SOURCE_DIR}/Sources/Search/DatabaseConstraint.cpp |
5770 | 130 ${CMAKE_SOURCE_DIR}/Sources/Search/DatabaseConstraints.cpp |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
131 ${CMAKE_SOURCE_DIR}/Sources/Search/DatabaseLookup.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
132 ${CMAKE_SOURCE_DIR}/Sources/Search/DicomTagConstraint.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
133 ${CMAKE_SOURCE_DIR}/Sources/Search/HierarchicalMatcher.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
134 ${CMAKE_SOURCE_DIR}/Sources/Search/ISqlLookupFormatter.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
135 ${CMAKE_SOURCE_DIR}/Sources/ServerContext.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
136 ${CMAKE_SOURCE_DIR}/Sources/ServerEnumerations.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
137 ${CMAKE_SOURCE_DIR}/Sources/ServerIndex.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
138 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/ArchiveJob.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
139 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/CleaningInstancesJob.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
140 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/DicomModalityStoreJob.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
141 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/DicomMoveScuJob.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
142 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/LuaJobManager.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
143 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/MergeStudyJob.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
144 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/Operations/DeleteResourceOperation.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
145 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/Operations/DicomInstanceOperationValue.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
146 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/Operations/ModifyInstanceOperation.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
147 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/Operations/StorePeerOperation.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
148 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/Operations/StoreScuOperation.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
149 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/Operations/SystemCallOperation.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
150 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/OrthancJobUnserializer.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
151 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/OrthancPeerStoreJob.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
152 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/ResourceModificationJob.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
153 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/SplitStudyJob.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
154 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/StorageCommitmentScpJob.cpp |
5130
f2dcdbe05884
ResourceModification jobs can now use multiple threads
Alain Mazy <am@osimis.io>
parents:
5098
diff
changeset
|
155 ${CMAKE_SOURCE_DIR}/Sources/ServerJobs/ThreadedSetOfInstancesJob.cpp |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
156 ${CMAKE_SOURCE_DIR}/Sources/ServerToolbox.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
157 ${CMAKE_SOURCE_DIR}/Sources/SliceOrdering.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
158 ${CMAKE_SOURCE_DIR}/Sources/StorageCommitmentReports.cpp |
2691 | 159 ) |
160 | |
161 | |
4045 | 162 set(ORTHANC_FRAMEWORK_UNIT_TESTS |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
163 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/DicomMapTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
164 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/FileStorageTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
165 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/FrameworkTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
166 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/FromDcmtkTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
167 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/ImageProcessingTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
168 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/ImageTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
169 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/JobsTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
170 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/JpegLosslessTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
171 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/LoggingTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
172 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/LuaTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
173 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/MemoryCacheTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
174 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/RestApiTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
175 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/SQLiteChromiumTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
176 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/SQLiteTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
177 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/StreamTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
178 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/ToolboxTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
179 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/ZipTests.cpp |
4045 | 180 ) |
181 | |
182 set(ORTHANC_SERVER_UNIT_TESTS | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
183 ${CMAKE_SOURCE_DIR}/UnitTestsSources/DatabaseLookupTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
184 ${CMAKE_SOURCE_DIR}/UnitTestsSources/LuaServerTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
185 ${CMAKE_SOURCE_DIR}/UnitTestsSources/PluginsTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
186 ${CMAKE_SOURCE_DIR}/UnitTestsSources/ServerIndexTests.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
187 ${CMAKE_SOURCE_DIR}/UnitTestsSources/ServerJobsTests.cpp |
4520
f5cb0c0ffbed
added unit test OrthancFramework.SizeOf to dump sizeof all the public classes in the Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4437
diff
changeset
|
188 ${CMAKE_SOURCE_DIR}/UnitTestsSources/SizeOfTests.cpp |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
189 ${CMAKE_SOURCE_DIR}/UnitTestsSources/UnitTestsMain.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
190 ${CMAKE_SOURCE_DIR}/UnitTestsSources/VersionsTests.cpp |
2691 | 191 ) |
192 | |
193 | |
194 if (ENABLE_PLUGINS) | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
195 include_directories(${CMAKE_SOURCE_DIR}/Plugins/Include) |
3074
495c5edce708
new extension for database plugin SDK: lookupResources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3071
diff
changeset
|
196 |
2691 | 197 list(APPEND ORTHANC_SERVER_SOURCES |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
198 ${CMAKE_SOURCE_DIR}/Plugins/Engine/OrthancPluginDatabase.cpp |
4595
cc64385593ef
added OrthancPluginRegisterDatabaseBackendV3() to plugin sdk
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4591
diff
changeset
|
199 ${CMAKE_SOURCE_DIR}/Plugins/Engine/OrthancPluginDatabaseV3.cpp |
5207
e7529e6241d2
first successful protobuf communication
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5193
diff
changeset
|
200 ${CMAKE_SOURCE_DIR}/Plugins/Engine/OrthancPluginDatabaseV4.cpp |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
201 ${CMAKE_SOURCE_DIR}/Plugins/Engine/OrthancPlugins.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
202 ${CMAKE_SOURCE_DIR}/Plugins/Engine/PluginsEnumerations.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
203 ${CMAKE_SOURCE_DIR}/Plugins/Engine/PluginsErrorDictionary.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
204 ${CMAKE_SOURCE_DIR}/Plugins/Engine/PluginsJob.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
205 ${CMAKE_SOURCE_DIR}/Plugins/Engine/PluginsManager.cpp |
2691 | 206 ) |
207 | |
4045 | 208 list(APPEND ORTHANC_SERVER_UNIT_TESTS |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
209 ${CMAKE_SOURCE_DIR}/UnitTestsSources/PluginsTests.cpp |
2691 | 210 ) |
211 endif() | |
212 | |
213 | |
214 if (CMAKE_COMPILER_IS_GNUCXX | |
215 AND NOT CMAKE_CROSSCOMPILING | |
3275 | 216 AND DCMTK_STATIC_VERSION STREQUAL "3.6.0") |
2691 | 217 # Add the "-pedantic" flag only on the Orthanc sources, and only if |
218 # cross-compiling DCMTK 3.6.0 | |
219 set(ORTHANC_ALL_SOURCES | |
220 ${ORTHANC_CORE_SOURCES_INTERNAL} | |
221 ${ORTHANC_DICOM_SOURCES_INTERNAL} | |
222 ${ORTHANC_SERVER_SOURCES} | |
4045 | 223 ${ORTHANC_FRAMEWORK_UNIT_TESTS} |
224 ${ORTHANC_SERVER_UNIT_TESTS} | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
225 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ModalityWorklists/Plugin.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
226 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ServeFolders/Plugin.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
227 ${CMAKE_SOURCE_DIR}/Sources/EmbeddedResourceHttpHandler.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
228 ${CMAKE_SOURCE_DIR}/Sources/main.cpp |
2691 | 229 ) |
230 | |
231 set_source_files_properties(${ORTHANC_ALL_SOURCES} | |
232 PROPERTIES COMPILE_FLAGS -pedantic | |
233 ) | |
234 endif() | |
235 | |
236 | |
237 ##################################################################### | |
238 ## Autogeneration of files | |
239 ##################################################################### | |
240 | |
241 set(ORTHANC_EMBEDDED_FILES | |
5807 | 242 CONFIGURATION_SAMPLE ${CMAKE_SOURCE_DIR}/Resources/Configuration.json |
243 DICOM_CONFORMANCE_STATEMENT ${CMAKE_SOURCE_DIR}/Resources/DicomConformanceStatement.txt | |
244 FONT_UBUNTU_MONO_BOLD_16 ${CMAKE_SOURCE_DIR}/Resources/Fonts/UbuntuMonoBold-16.json | |
245 LUA_TOOLBOX ${CMAKE_SOURCE_DIR}/Resources/Toolbox.lua | |
246 PREPARE_DATABASE ${CMAKE_SOURCE_DIR}/Sources/Database/PrepareDatabase.sql | |
247 UPGRADE_DATABASE_3_TO_4 ${CMAKE_SOURCE_DIR}/Sources/Database/Upgrade3To4.sql | |
248 UPGRADE_DATABASE_4_TO_5 ${CMAKE_SOURCE_DIR}/Sources/Database/Upgrade4To5.sql | |
249 INSTALL_TRACK_ATTACHMENTS_SIZE ${CMAKE_SOURCE_DIR}/Sources/Database/InstallTrackAttachmentsSize.sql | |
250 INSTALL_LABELS_TABLE ${CMAKE_SOURCE_DIR}/Sources/Database/InstallLabelsTable.sql | |
251 INSTALL_REVISION_AND_CUSTOM_DATA ${CMAKE_SOURCE_DIR}/Sources/Database/InstallRevisionAndCustomData.sql | |
2691 | 252 ) |
253 | |
254 if (STANDALONE_BUILD) | |
255 # We embed all the resources in the binaries for standalone builds | |
4030
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
256 add_definitions( |
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
257 -DORTHANC_STANDALONE=1 |
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
258 ) |
4031
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
259 |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
260 list(APPEND ORTHANC_EMBEDDED_FILES |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
261 ORTHANC_EXPLORER ${CMAKE_SOURCE_DIR}/OrthancExplorer |
2691 | 262 ) |
263 else() | |
264 add_definitions( | |
4030
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
265 -DORTHANC_PATH=\"${CMAKE_SOURCE_DIR}\" |
2691 | 266 -DORTHANC_STANDALONE=0 |
267 ) | |
268 endif() | |
269 | |
4031
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
270 EmbedResources( |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
271 --namespace=Orthanc.ServerResources |
4032
058b5ade8acd
renaming embedded resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4031
diff
changeset
|
272 --target=OrthancServerResources |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
273 --framework-path=${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources |
4031
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
274 ${ORTHANC_EMBEDDED_FILES} |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
275 ) |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
276 |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
277 |
2691 | 278 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
279 execute_process( | |
280 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
281 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 282 ${ORTHANC_VERSION} Orthanc Orthanc.exe "Lightweight, RESTful DICOM server for medical imaging" |
283 ERROR_VARIABLE Failure | |
284 OUTPUT_FILE ${AUTOGENERATED_DIR}/Orthanc.rc | |
285 ) | |
286 | |
287 if (Failure) | |
288 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
289 endif() | |
290 | |
291 list(APPEND ORTHANC_RESOURCES ${AUTOGENERATED_DIR}/Orthanc.rc) | |
292 endif() | |
293 | |
294 | |
295 | |
296 ##################################################################### | |
297 ## Configuration of the C/C++ macros | |
298 ##################################################################### | |
299 | |
4366
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
300 check_symbol_exists(mallopt "malloc.h" HAVE_MALLOPT) |
5159
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
301 check_symbol_exists(malloc_trim "malloc.h" HAVE_MALLOC_TRIM) |
4366
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
302 |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
303 if (HAVE_MALLOPT) |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
304 add_definitions(-DHAVE_MALLOPT=1) |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
305 else() |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
306 add_definitions(-DHAVE_MALLOPT=0) |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
307 endif() |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
308 |
5159
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
309 if (HAVE_MALLOC_TRIM) |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
310 add_definitions(-DHAVE_MALLOC_TRIM=1) |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
311 else() |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
312 add_definitions(-DHAVE_MALLOC_TRIM=0) |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
313 endif() |
4366
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
314 |
4063
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
315 if (STATIC_BUILD) |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
316 add_definitions(-DORTHANC_STATIC=1) |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
317 else() |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
318 add_definitions(-DORTHANC_STATIC=0) |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
319 endif() |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
320 |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
321 |
2691 | 322 if (ENABLE_PLUGINS) |
323 add_definitions(-DORTHANC_ENABLE_PLUGINS=1) | |
324 else() | |
325 add_definitions(-DORTHANC_ENABLE_PLUGINS=0) | |
326 endif() | |
327 | |
328 | |
329 if (UNIT_TESTS_WITH_HTTP_CONNEXIONS) | |
330 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=1) | |
331 else() | |
332 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=0) | |
333 endif() | |
334 | |
335 | |
336 add_definitions( | |
337 -DORTHANC_BUILD_UNIT_TESTS=1 | |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
338 |
2691 | 339 # Macros for the plugins |
340 -DHAS_ORTHANC_EXCEPTION=0 | |
341 ) | |
342 | |
343 | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
344 # Setup precompiled headers for Microsoft Visual Studio |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
345 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
346 # WARNING: There must be NO MORE "add_definitions()", "include()" or |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
347 # "include_directories()" below, otherwise the generated precompiled |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
348 # headers might get broken! |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
349 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
350 if (MSVC) |
5267 | 351 add_definitions(-DORTHANC_USE_PRECOMPILED_HEADERS=1) |
352 | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
353 set(TMP |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
354 ${ORTHANC_CORE_SOURCES_INTERNAL} |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
355 ${ORTHANC_DICOM_SOURCES_INTERNAL} |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
356 ) |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
357 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
358 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
359 "PrecompiledHeaders.h" "${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/PrecompiledHeaders.cpp" |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
360 TMP ORTHANC_CORE_PCH) |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
361 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
362 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
363 "PrecompiledHeadersServer.h" "${CMAKE_SOURCE_DIR}/Sources/PrecompiledHeadersServer.cpp" |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
364 ORTHANC_SERVER_SOURCES ORTHANC_SERVER_PCH) |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
365 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
366 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
367 "PrecompiledHeadersUnitTests.h" "${CMAKE_SOURCE_DIR}/UnitTestsSources/PrecompiledHeadersUnitTests.cpp" |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
368 ORTHANC_SERVER_UNIT_TESTS ORTHANC_UNIT_TESTS_PCH) |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
369 endif() |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
370 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
371 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
372 |
2691 | 373 ##################################################################### |
374 ## Build the core of Orthanc | |
375 ##################################################################### | |
376 | |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
377 add_custom_target(AutogeneratedTarget |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
378 DEPENDS |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
379 ${AUTOGENERATED_SOURCES} |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
380 ) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
381 |
2691 | 382 # "CoreLibrary" contains all the third-party dependencies and the |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
383 # content of the "OrthancFramework" folder |
2691 | 384 add_library(CoreLibrary |
385 STATIC | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
386 ${ORTHANC_CORE_PCH} |
2691 | 387 ${ORTHANC_CORE_SOURCES} |
388 ${ORTHANC_DICOM_SOURCES} | |
389 ${AUTOGENERATED_SOURCES} | |
3270 | 390 ) |
391 | |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
392 DefineSourceBasenameForTarget(CoreLibrary) |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
393 |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
394 add_dependencies(CoreLibrary AutogeneratedTarget) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
395 |
3270 | 396 if (LIBICU_LIBRARIES) |
397 target_link_libraries(CoreLibrary ${LIBICU_LIBRARIES}) | |
398 endif() | |
2691 | 399 |
400 | |
401 ##################################################################### | |
402 ## Build the Orthanc server | |
403 ##################################################################### | |
404 | |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
405 if (ENABLE_PLUGINS) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
406 add_custom_command( |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
407 COMMAND |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
408 ${PROTOC_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancDatabasePlugin.proto --cpp_out=${AUTOGENERATED_DIR} -I${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
409 COMMAND |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
410 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Resources/PreventProtobufDirectoryLeaks.py ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.cc |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
411 DEPENDS |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
412 ProtobufCompiler |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
413 ${CMAKE_SOURCE_DIR}/Resources/PreventProtobufDirectoryLeaks.py |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
414 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancDatabasePlugin.proto |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
415 OUTPUT |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
416 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.cc |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
417 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.h |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
418 ) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
419 |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
420 add_custom_target(OrthancDatabaseProtobuf |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
421 DEPENDS |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
422 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.h |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
423 ) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
424 |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
425 list(APPEND ORTHANC_SERVER_SOURCES |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
426 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.cc |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
427 ) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
428 else() |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
429 add_custom_target(OrthancDatabaseProtobuf) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
430 endif() |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
431 |
2691 | 432 add_library(ServerLibrary |
433 STATIC | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
434 ${ORTHANC_SERVER_PCH} |
2691 | 435 ${ORTHANC_SERVER_SOURCES} |
436 ) | |
437 | |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
438 DefineSourceBasenameForTarget(ServerLibrary) |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
439 |
2691 | 440 # Ensure autogenerated code is built before building ServerLibrary |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
441 add_dependencies(ServerLibrary CoreLibrary OrthancDatabaseProtobuf) |
2691 | 442 |
443 add_executable(Orthanc | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
444 ${CMAKE_SOURCE_DIR}/Sources/main.cpp |
2691 | 445 ${ORTHANC_RESOURCES} |
446 ) | |
447 | |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
448 DefineSourceBasenameForTarget(Orthanc) |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
449 |
2691 | 450 target_link_libraries(Orthanc ServerLibrary CoreLibrary ${DCMTK_LIBRARIES}) |
451 | |
4761
31e12d2ce275
Linux Standard Base (LSB) builds of Orthanc can load non-LSB builds of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4595
diff
changeset
|
452 if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase") |
31e12d2ce275
Linux Standard Base (LSB) builds of Orthanc can load non-LSB builds of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4595
diff
changeset
|
453 # The link flag below hides all the global functions so that a Linux |
31e12d2ce275
Linux Standard Base (LSB) builds of Orthanc can load non-LSB builds of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4595
diff
changeset
|
454 # Standard Base (LSB) build of Orthanc can load plugins that are not |
31e12d2ce275
Linux Standard Base (LSB) builds of Orthanc can load non-LSB builds of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4595
diff
changeset
|
455 # built using LSB (new in Orthanc 1.9.7) |
31e12d2ce275
Linux Standard Base (LSB) builds of Orthanc can load non-LSB builds of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4595
diff
changeset
|
456 set_property( |
31e12d2ce275
Linux Standard Base (LSB) builds of Orthanc can load non-LSB builds of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4595
diff
changeset
|
457 TARGET Orthanc |
31e12d2ce275
Linux Standard Base (LSB) builds of Orthanc can load non-LSB builds of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4595
diff
changeset
|
458 PROPERTY LINK_FLAGS "-Wl,--version-script=${CMAKE_SOURCE_DIR}/Resources/VersionScriptOrthanc.map" |
31e12d2ce275
Linux Standard Base (LSB) builds of Orthanc can load non-LSB builds of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4595
diff
changeset
|
459 ) |
31e12d2ce275
Linux Standard Base (LSB) builds of Orthanc can load non-LSB builds of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4595
diff
changeset
|
460 endif() |
31e12d2ce275
Linux Standard Base (LSB) builds of Orthanc can load non-LSB builds of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4595
diff
changeset
|
461 |
2691 | 462 install( |
463 TARGETS Orthanc | |
464 RUNTIME DESTINATION sbin | |
465 ) | |
466 | |
467 | |
468 ##################################################################### | |
469 ## Build the unit tests | |
470 ##################################################################### | |
471 | |
472 add_executable(UnitTests | |
473 ${GOOGLE_TEST_SOURCES} | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
474 ${ORTHANC_UNIT_TESTS_PCH} |
4045 | 475 ${ORTHANC_FRAMEWORK_UNIT_TESTS} |
476 ${ORTHANC_SERVER_UNIT_TESTS} | |
3326
b21d4cc8e5d1
speed up base64 decoding + added tests
Alain Mazy <alain@mazy.be>
parents:
3295
diff
changeset
|
477 ${BOOST_EXTENDED_SOURCES} |
2691 | 478 ) |
479 | |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
480 DefineSourceBasenameForTarget(UnitTests) |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
481 |
2691 | 482 target_link_libraries(UnitTests |
483 ServerLibrary | |
484 CoreLibrary | |
485 ${DCMTK_LIBRARIES} | |
486 ${GOOGLE_TEST_LIBRARIES} | |
487 ) | |
488 | |
489 | |
490 ##################################################################### | |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
491 ## Static library to share third-party libraries between the plugins |
3233
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
492 ##################################################################### |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
493 |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
494 if (ENABLE_PLUGINS AND |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
495 (BUILD_SERVE_FOLDERS OR BUILD_MODALITY_WORKLISTS OR BUILD_HOUSEKEEPER OR |
5807 | 496 BUILD_DELAYED_DELETION OR BUILD_MULTITENANT_DICOM OR BUILD_ADVANCED_STORAGE)) |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
497 set(PLUGINS_DEPENDENCIES_SOURCES |
3233
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
498 ${BOOST_SOURCES} |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
499 ${JSONCPP_SOURCES} |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
500 ${LIBICONV_SOURCES} |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
501 ${LIBICU_SOURCES} |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
502 ${PUGIXML_SOURCES} |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
503 ${UUID_SOURCES} |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
504 ${ZLIB_SOURCES} |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
505 |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
506 ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/ThirdParty/base64/base64.cpp |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
507 ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/ThirdParty/md5/md5.c |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
508 Plugins/Samples/Common/OrthancPluginCppWrapper.cpp |
3233
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
509 ) |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
510 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
511 if (BUILD_DELAYED_DELETION) |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
512 list(APPEND PLUGINS_DEPENDENCIES_SOURCES |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
513 ${SQLITE_SOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
514 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
515 endif() |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
516 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
517 if (BUILD_MULTITENANT_DICOM) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
518 list(APPEND PLUGINS_DEPENDENCIES_SOURCES |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
519 ${DCMTK_SOURCES} |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
520 ${OPENSSL_SOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
521 ${LIBJPEG_SOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
522 ${LIBPNG_SOURCES} |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
523 ) |
3271 | 524 endif() |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
525 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
526 add_library(PluginsDependencies STATIC |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
527 ${PLUGINS_DEPENDENCIES_SOURCES} |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
528 ) |
3271 | 529 |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
530 DefineSourceBasenameForTarget(PluginsDependencies) |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
531 |
3233
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
532 # Add the "-fPIC" option as this static library must be embedded |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
533 # inside shared libraries (important on UNIX) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
534 set_target_properties( |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
535 PluginsDependencies |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
536 PROPERTIES POSITION_INDEPENDENT_CODE ON |
3233
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
537 ) |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
538 endif() |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
539 |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
540 |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
541 ##################################################################### |
2691 | 542 ## Build the "ServeFolders" plugin |
543 ##################################################################### | |
544 | |
545 if (ENABLE_PLUGINS AND BUILD_SERVE_FOLDERS) | |
546 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
547 execute_process( | |
548 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
549 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 550 ${ORTHANC_VERSION} ServeFolders ServeFolders.dll "Orthanc plugin to serve additional folders" |
551 ERROR_VARIABLE Failure | |
552 OUTPUT_FILE ${AUTOGENERATED_DIR}/ServeFolders.rc | |
553 ) | |
554 | |
555 if (Failure) | |
556 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
557 endif() | |
558 | |
559 list(APPEND SERVE_FOLDERS_RESOURCES ${AUTOGENERATED_DIR}/ServeFolders.rc) | |
560 endif() | |
561 | |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
562 set_source_files_properties( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
563 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ServeFolders/Plugin.cpp |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
564 PROPERTIES COMPILE_DEFINITIONS "SERVE_FOLDERS_VERSION=\"${ORTHANC_VERSION}\"" |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
565 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
566 |
2691 | 567 add_library(ServeFolders SHARED |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
568 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ServeFolders/Plugin.cpp |
2691 | 569 ${SERVE_FOLDERS_RESOURCES} |
570 ) | |
571 | |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
572 DefineSourceBasenameForTarget(ServeFolders) |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
573 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
574 target_link_libraries(ServeFolders PluginsDependencies) |
3233
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
575 |
2691 | 576 set_target_properties( |
577 ServeFolders PROPERTIES | |
578 VERSION ${ORTHANC_VERSION} | |
579 SOVERSION ${ORTHANC_VERSION} | |
580 ) | |
581 | |
582 install( | |
583 TARGETS ServeFolders | |
584 RUNTIME DESTINATION lib # Destination for Windows | |
585 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux | |
586 ) | |
587 endif() | |
588 | |
589 | |
590 | |
591 ##################################################################### | |
592 ## Build the "ModalityWorklists" plugin | |
593 ##################################################################### | |
594 | |
595 if (ENABLE_PLUGINS AND BUILD_MODALITY_WORKLISTS) | |
596 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
597 execute_process( | |
598 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
599 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 600 ${ORTHANC_VERSION} ModalityWorklists ModalityWorklists.dll "Sample Orthanc plugin to serve modality worklists" |
601 ERROR_VARIABLE Failure | |
602 OUTPUT_FILE ${AUTOGENERATED_DIR}/ModalityWorklists.rc | |
603 ) | |
604 | |
605 if (Failure) | |
606 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
607 endif() | |
608 | |
609 list(APPEND MODALITY_WORKLISTS_RESOURCES ${AUTOGENERATED_DIR}/ModalityWorklists.rc) | |
610 endif() | |
611 | |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
612 set_source_files_properties( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
613 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ModalityWorklists/Plugin.cpp |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
614 PROPERTIES COMPILE_DEFINITIONS "MODALITY_WORKLISTS_VERSION=\"${ORTHANC_VERSION}\"" |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
615 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
616 |
2691 | 617 add_library(ModalityWorklists SHARED |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
618 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ModalityWorklists/Plugin.cpp |
2691 | 619 ${MODALITY_WORKLISTS_RESOURCES} |
620 ) | |
621 | |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
622 DefineSourceBasenameForTarget(ModalityWorklists) |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
623 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
624 target_link_libraries(ModalityWorklists PluginsDependencies) |
3233
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
625 |
2691 | 626 set_target_properties( |
627 ModalityWorklists PROPERTIES | |
628 VERSION ${ORTHANC_VERSION} | |
629 SOVERSION ${ORTHANC_VERSION} | |
630 ) | |
631 | |
632 install( | |
633 TARGETS ModalityWorklists | |
634 RUNTIME DESTINATION lib # Destination for Windows | |
635 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux | |
636 ) | |
637 endif() | |
638 | |
639 | |
640 | |
641 ##################################################################### | |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
642 ## Build the "ConnectivityChecks" plugin |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
643 ##################################################################### |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
644 |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
645 if (ENABLE_PLUGINS AND BUILD_CONNECTIVITY_CHECKS) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
646 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
647 execute_process( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
648 COMMAND |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
649 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
650 ${ORTHANC_VERSION} ConnectivityChecks ConnectivityChecks.dll "Orthanc plugin to show connectivity status" |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
651 ERROR_VARIABLE Failure |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
652 OUTPUT_FILE ${AUTOGENERATED_DIR}/ConnectivityChecks.rc |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
653 ) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
654 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
655 if (Failure) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
656 message(FATAL_ERROR "Error while computing the version information: ${Failure}") |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
657 endif() |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
658 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
659 list(APPEND CONNECTIVITY_CHECKS_RESOURCES ${AUTOGENERATED_DIR}/ConnectivityChecks.rc) |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
660 endif() |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
661 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
662 include(${CMAKE_SOURCE_DIR}/Plugins/Samples/ConnectivityChecks/JavaScriptLibraries.cmake) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
663 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
664 EmbedResources( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
665 --target=ConnectivityChecksResources |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
666 --framework-path=${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
667 WEB_RESOURCES ${CMAKE_SOURCE_DIR}/Plugins/Samples/ConnectivityChecks/WebResources |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
668 LIBRARIES ${CONNECTIVITY_CHECKS_JAVASCRIPT_DIR} |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
669 ) |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
670 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
671 set_source_files_properties( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
672 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ConnectivityChecks/Plugin.cpp |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
673 PROPERTIES COMPILE_DEFINITIONS "ORTHANC_PLUGIN_NAME=\"connectivity-checks\";ORTHANC_PLUGIN_VERSION=\"${ORTHANC_VERSION}\"" |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
674 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
675 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
676 # The "OrthancFrameworkDependencies.cpp" file is used to bypass the |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
677 # precompiled headers if compiling with Visual Studio |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
678 add_library(ConnectivityChecks SHARED |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
679 ${AUTOGENERATED_DIR}/ConnectivityChecksResources.cpp |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
680 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ConnectivityChecks/Plugin.cpp |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
681 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
682 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ConnectivityChecks/OrthancFrameworkDependencies.cpp |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
683 ${CONNECTIVITY_CHECKS_RESOURCES} |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
684 ) |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
685 |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
686 DefineSourceBasenameForTarget(ConnectivityChecks) |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
687 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
688 target_link_libraries(ConnectivityChecks PluginsDependencies) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
689 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
690 set_target_properties( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
691 ConnectivityChecks PROPERTIES |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
692 VERSION ${ORTHANC_VERSION} |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
693 SOVERSION ${ORTHANC_VERSION} |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
694 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
695 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
696 install( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
697 TARGETS ConnectivityChecks |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
698 RUNTIME DESTINATION lib # Destination for Windows |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
699 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
700 ) |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
701 endif() |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
702 |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
703 |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
704 ##################################################################### |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
705 ## Build the "DelayedDeletion" plugin |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
706 ##################################################################### |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
707 |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
708 if (ENABLE_PLUGINS AND BUILD_DELAYED_DELETION) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
709 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
710 execute_process( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
711 COMMAND |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
712 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
713 ${ORTHANC_VERSION} DelayedDeletion DelayedDeletion.dll "Orthanc plugin to delay deletion of files" |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
714 ERROR_VARIABLE Failure |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
715 OUTPUT_FILE ${AUTOGENERATED_DIR}/DelayedDeletion.rc |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
716 ) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
717 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
718 if (Failure) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
719 message(FATAL_ERROR "Error while computing the version information: ${Failure}") |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
720 endif() |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
721 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
722 list(APPEND DELAYED_DELETION_RESOURCES ${AUTOGENERATED_DIR}/DelayedDeletion.rc) |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
723 endif() |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
724 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
725 set_source_files_properties( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
726 ${CMAKE_SOURCE_DIR}/Plugins/Samples/DelayedDeletion/Plugin.cpp |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
727 PROPERTIES COMPILE_DEFINITIONS "ORTHANC_PLUGIN_NAME=\"delayed-deletion\";ORTHANC_PLUGIN_VERSION=\"${ORTHANC_VERSION}\"" |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
728 ) |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
729 |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
730 # The "OrthancFrameworkDependencies.cpp" file is used to bypass the |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
731 # precompiled headers if compiling with Visual Studio |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
732 add_library(DelayedDeletion SHARED |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
733 ${CMAKE_SOURCE_DIR}/Plugins/Samples/DelayedDeletion/PendingDeletionsDatabase.cpp |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
734 ${CMAKE_SOURCE_DIR}/Plugins/Samples/DelayedDeletion/Plugin.cpp |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
735 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
736 ${CMAKE_SOURCE_DIR}/Plugins/Samples/DelayedDeletion/OrthancFrameworkDependencies.cpp |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
737 ${DELAYED_DELETION_RESOURCES} |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
738 ) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
739 |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
740 DefineSourceBasenameForTarget(DelayedDeletion) |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
741 |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
742 target_link_libraries(DelayedDeletion PluginsDependencies) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
743 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
744 set_target_properties( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
745 DelayedDeletion PROPERTIES |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
746 VERSION ${ORTHANC_VERSION} |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
747 SOVERSION ${ORTHANC_VERSION} |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
748 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
749 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
750 install( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
751 TARGETS DelayedDeletion |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
752 RUNTIME DESTINATION lib # Destination for Windows |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
753 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
754 ) |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
755 endif() |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
756 |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
757 |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
758 ##################################################################### |
4979
f316413027fd
renamed DbOptizer into Housekeeper + add Scheduler & triggers
Alain Mazy <am@osimis.io>
parents:
4971
diff
changeset
|
759 ## Build the "Housekeeper" plugin |
4961 | 760 ##################################################################### |
761 | |
4981 | 762 if (ENABLE_PLUGINS AND BUILD_HOUSEKEEPER) |
763 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
764 execute_process( | |
765 COMMAND | |
766 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py | |
767 ${ORTHANC_VERSION} Housekeeper Housekeeper.dll "Sample Orthanc plugin to optimize/clean the DB/Storage" | |
768 ERROR_VARIABLE Failure | |
769 OUTPUT_FILE ${AUTOGENERATED_DIR}/Housekeeper.rc | |
770 ) | |
771 | |
772 if (Failure) | |
773 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
774 endif() | |
775 | |
776 list(APPEND HOUSEKEEPER_RESOURCES ${AUTOGENERATED_DIR}/Housekeeper.rc) | |
777 endif() | |
778 | |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
779 set_source_files_properties( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
780 ${CMAKE_SOURCE_DIR}/Plugins/Samples/Housekeeper/Plugin.cpp |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
781 PROPERTIES COMPILE_DEFINITIONS "HOUSEKEEPER_VERSION=\"${ORTHANC_VERSION}\"" |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
782 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
783 |
4981 | 784 add_library(Housekeeper SHARED |
785 ${CMAKE_SOURCE_DIR}/Plugins/Samples/Housekeeper/Plugin.cpp | |
786 ${HOUSEKEEPER_RESOURCES} | |
787 ) | |
788 | |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
789 DefineSourceBasenameForTarget(Housekeeper) |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
790 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
791 target_link_libraries(Housekeeper PluginsDependencies) |
4981 | 792 |
793 set_target_properties( | |
794 Housekeeper PROPERTIES | |
795 VERSION ${ORTHANC_VERSION} | |
796 SOVERSION ${ORTHANC_VERSION} | |
797 ) | |
798 | |
799 install( | |
800 TARGETS Housekeeper | |
801 RUNTIME DESTINATION lib # Destination for Windows | |
802 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux | |
803 ) | |
4961 | 804 endif() |
805 | |
806 | |
807 ##################################################################### | |
5080
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
808 ## Build the "AdvancedStorage" plugin |
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
809 ##################################################################### |
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
810 |
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
811 if (ENABLE_PLUGINS AND BUILD_ADVANCED_STORAGE) |
5807 | 812 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
813 execute_process( | |
814 COMMAND | |
815 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py | |
816 ${ORTHANC_VERSION} AdvancedStorage AdvancedStorage.dll "Orthanc plugin to provide advanced file storage" | |
817 ERROR_VARIABLE Failure | |
818 OUTPUT_FILE ${AUTOGENERATED_DIR}/AdvancedStorage.rc | |
819 ) | |
5080
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
820 |
5807 | 821 if (Failure) |
822 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
823 endif() | |
5080
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
824 |
5807 | 825 list(APPEND ADVANCED_STORAGE_RESOURCES ${AUTOGENERATED_DIR}/AdvancedStorage.rc) |
5080
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
826 endif() |
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
827 |
5811
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
828 EmbedResources( |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
829 --target=AdvancedStorageDicomResources |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
830 --namespace=Orthanc.FrameworkResources |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
831 --framework-path=${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
832 ${LIBICU_RESOURCES} |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
833 ${DCMTK_DICTIONARIES} |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
834 ) |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
835 |
5807 | 836 set_source_files_properties( |
837 ${CMAKE_SOURCE_DIR}/Plugins/Samples/AdvancedStorage/Plugin.cpp | |
838 PROPERTIES COMPILE_DEFINITIONS "ADVANCED_STORAGE_VERSION=\"${ORTHANC_VERSION}\"" | |
839 ) | |
5080
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
840 |
5807 | 841 add_library(AdvancedStorage SHARED |
842 ${CMAKE_SOURCE_DIR}/Plugins/Samples/AdvancedStorage/Plugin.cpp | |
5811
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
843 ${CMAKE_SOURCE_DIR}/Plugins/Samples/AdvancedStorage/OrthancFrameworkDependencies.cpp |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
844 ${AUTOGENERATED_DIR}/AdvancedStorageDicomResources.cpp |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
845 ${ADVANCED_STORAGE_RESOURCES} |
5080
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
846 ) |
d7274e43ea7c
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
Alain Mazy <am@osimis.io>
parents:
5067
diff
changeset
|
847 |
5807 | 848 DefineSourceBasenameForTarget(AdvancedStorage) |
849 | |
850 target_link_libraries(AdvancedStorage PluginsDependencies) | |
851 | |
852 set_target_properties( | |
853 AdvancedStorage PROPERTIES | |
854 VERSION ${ORTHANC_VERSION} | |
855 SOVERSION ${ORTHANC_VERSION} | |
856 ) | |
857 | |
858 install( | |
859 TARGETS AdvancedStorage | |
860 RUNTIME DESTINATION lib # Destination for Windows | |
861 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux | |
862 ) | |
863 endif() | |
864 | |
865 ##################################################################### | |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
866 ## Build the "MultitenantDicom" plugin |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
867 ##################################################################### |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
868 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
869 if (ENABLE_PLUGINS AND BUILD_MULTITENANT_DICOM) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
870 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
871 execute_process( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
872 COMMAND |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
873 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
874 ${ORTHANC_VERSION} MultitenantDicom MultitenantDicom.dll "Orthanc plugin to provide a multitenant DICOM server" |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
875 ERROR_VARIABLE Failure |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
876 OUTPUT_FILE ${AUTOGENERATED_DIR}/MultitenantDicom.rc |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
877 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
878 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
879 if (Failure) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
880 message(FATAL_ERROR "Error while computing the version information: ${Failure}") |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
881 endif() |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
882 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
883 list(APPEND MULTITENANT_DICOM_RESOURCES ${AUTOGENERATED_DIR}/MultitenantDicom.rc) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
884 endif() |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
885 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
886 EmbedResources( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
887 --target=MultitenantDicomResources |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
888 --namespace=Orthanc.FrameworkResources |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
889 --framework-path=${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources |
5545
f8b9eaa5effa
re-enabling ICU in the multitenant dicom plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5516
diff
changeset
|
890 ${LIBICU_RESOURCES} |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
891 ${DCMTK_DICTIONARIES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
892 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
893 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
894 set_source_files_properties( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
895 ${CMAKE_SOURCE_DIR}/Plugins/Samples/MultitenantDicom/Plugin.cpp |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
896 PROPERTIES COMPILE_DEFINITIONS "ORTHANC_PLUGIN_VERSION=\"${ORTHANC_VERSION}\"" |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
897 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
898 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
899 # The "OrthancFrameworkDependencies.cpp" file is used to bypass the |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
900 # precompiled headers if compiling with Visual Studio |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
901 add_library(MultitenantDicom SHARED |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
902 ${CMAKE_SOURCE_DIR}/Plugins/Samples/MultitenantDicom/DicomFilter.cpp |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
903 ${CMAKE_SOURCE_DIR}/Plugins/Samples/MultitenantDicom/FindRequestHandler.cpp |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
904 ${CMAKE_SOURCE_DIR}/Plugins/Samples/MultitenantDicom/MoveRequestHandler.cpp |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
905 ${CMAKE_SOURCE_DIR}/Plugins/Samples/MultitenantDicom/MultitenantDicomServer.cpp |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
906 ${CMAKE_SOURCE_DIR}/Plugins/Samples/MultitenantDicom/Plugin.cpp |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
907 ${CMAKE_SOURCE_DIR}/Plugins/Samples/MultitenantDicom/PluginToolbox.cpp |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
908 ${CMAKE_SOURCE_DIR}/Plugins/Samples/MultitenantDicom/StoreRequestHandler.cpp |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
909 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
910 ${CMAKE_SOURCE_DIR}/Plugins/Samples/MultitenantDicom/OrthancFrameworkDependencies.cpp |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
911 ${AUTOGENERATED_DIR}/MultitenantDicomResources.cpp |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
912 ${MULTITENANT_DICOM_RESOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
913 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
914 |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
915 DefineSourceBasenameForTarget(MultitenantDicom) |
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
916 |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
917 target_link_libraries(MultitenantDicom PluginsDependencies ${DCMTK_LIBRARIES}) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
918 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
919 set_target_properties( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
920 MultitenantDicom PROPERTIES |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
921 VERSION ${ORTHANC_VERSION} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
922 SOVERSION ${ORTHANC_VERSION} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
923 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
924 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
925 install( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
926 TARGETS MultitenantDicom |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
927 RUNTIME DESTINATION lib # Destination for Windows |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
928 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
929 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
930 endif() |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
931 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
932 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
933 ##################################################################### |
2691 | 934 ## Build the companion tool to recover files compressed using Orthanc |
935 ##################################################################### | |
936 | |
937 if (BUILD_RECOVER_COMPRESSED_FILE) | |
938 set(RECOVER_COMPRESSED_SOURCES | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
939 ${CMAKE_SOURCE_DIR}/Resources/Samples/Tools/RecoverCompressedFile.cpp |
2691 | 940 ) |
941 | |
942 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
943 execute_process( | |
944 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
945 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 946 ${ORTHANC_VERSION} OrthancRecoverCompressedFile OrthancRecoverCompressedFile.exe |
947 "Lightweight, RESTful DICOM server for medical imaging" | |
948 ERROR_VARIABLE Failure | |
949 OUTPUT_FILE ${AUTOGENERATED_DIR}/OrthancRecoverCompressedFile.rc | |
950 ) | |
951 | |
952 if (Failure) | |
953 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
954 endif() | |
955 | |
956 list(APPEND RECOVER_COMPRESSED_SOURCES | |
957 ${AUTOGENERATED_DIR}/OrthancRecoverCompressedFile.rc | |
958 ) | |
959 endif() | |
960 | |
961 add_executable(OrthancRecoverCompressedFile ${RECOVER_COMPRESSED_SOURCES}) | |
5357
fddb5d8d0021
Prevent the leak of the full path of the source files in the binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5273
diff
changeset
|
962 DefineSourceBasenameForTarget(OrthancRecoverCompressedFile) |
2691 | 963 |
964 target_link_libraries(OrthancRecoverCompressedFile CoreLibrary) | |
965 | |
966 install( | |
967 TARGETS OrthancRecoverCompressedFile | |
968 RUNTIME DESTINATION bin | |
969 ) | |
970 endif() | |
971 | |
972 | |
973 | |
974 ##################################################################### | |
975 ## Generate the documentation if Doxygen is present | |
976 ##################################################################### | |
977 | |
978 find_package(Doxygen) | |
979 if (DOXYGEN_FOUND) | |
980 configure_file( | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
981 ${CMAKE_SOURCE_DIR}/Resources/Orthanc.doxygen |
2691 | 982 ${CMAKE_CURRENT_BINARY_DIR}/Orthanc.doxygen |
983 @ONLY) | |
984 | |
985 configure_file( | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
986 ${CMAKE_SOURCE_DIR}/Resources/OrthancPlugin.doxygen |
2691 | 987 ${CMAKE_CURRENT_BINARY_DIR}/OrthancPlugin.doxygen |
988 @ONLY) | |
989 | |
990 add_custom_target(doc | |
991 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Orthanc.doxygen | |
992 COMMENT "Generating internal documentation with Doxygen" VERBATIM | |
993 ) | |
994 | |
995 add_custom_command(TARGET Orthanc | |
996 POST_BUILD | |
997 COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancPlugin.doxygen | |
998 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} | |
999 COMMENT "Generating plugin documentation with Doxygen" VERBATIM | |
1000 ) | |
1001 | |
1002 install( | |
1003 DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/OrthancPluginDocumentation/doc/ | |
1004 DESTINATION share/doc/orthanc/OrthancPlugin | |
1005 ) | |
1006 else() | |
1007 message("Doxygen not found. The documentation will not be built.") | |
1008 endif() | |
1009 | |
1010 | |
1011 | |
1012 ##################################################################### | |
1013 ## Install the plugin SDK | |
1014 ##################################################################### | |
1015 | |
1016 if (ENABLE_PLUGINS) | |
1017 install( | |
1018 FILES | |
5189
50c4a18caa85
installing OrthancDatabasePlugin.proto
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5188
diff
changeset
|
1019 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancCPlugin.h |
50c4a18caa85
installing OrthancDatabasePlugin.proto
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5188
diff
changeset
|
1020 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancCDatabasePlugin.h |
50c4a18caa85
installing OrthancDatabasePlugin.proto
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5188
diff
changeset
|
1021 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancDatabasePlugin.proto |
2691 | 1022 DESTINATION include/orthanc |
1023 ) | |
1024 endif() | |
1025 | |
1026 | |
1027 | |
1028 ##################################################################### | |
1029 ## Prepare the "uninstall" target | |
1030 ## http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F | |
1031 ##################################################################### | |
1032 | |
1033 configure_file( | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
1034 "${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/CMake/Uninstall.cmake.in" |
2691 | 1035 "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" |
1036 IMMEDIATE @ONLY) | |
1037 | |
1038 add_custom_target(uninstall | |
1039 COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) |