Mercurial > hg > orthanc
annotate OrthancServer/CMakeLists.txt @ 5834:79a497908b04 attach-custom-data tip
merged find-refactoring -> attach-custom-data
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Wed, 09 Oct 2024 11:06:20 +0200 |
parents | a451777236fb 7030fa489669 |
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 |
5828 | 129 ${CMAKE_SOURCE_DIR}/Sources/Search/DatabaseDicomTagConstraint.cpp |
130 ${CMAKE_SOURCE_DIR}/Sources/Search/DatabaseDicomTagConstraints.cpp | |
131 ${CMAKE_SOURCE_DIR}/Sources/Search/DatabaseMetadataConstraint.cpp | |
4091
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/DatabaseLookup.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/DicomTagConstraint.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/HierarchicalMatcher.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/Search/ISqlLookupFormatter.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/ServerContext.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/ServerEnumerations.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/ServerIndex.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/ArchiveJob.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/CleaningInstancesJob.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/DicomModalityStoreJob.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/DicomMoveScuJob.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/LuaJobManager.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/MergeStudyJob.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/DeleteResourceOperation.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/DicomInstanceOperationValue.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/ModifyInstanceOperation.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/StorePeerOperation.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/StoreScuOperation.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/Operations/SystemCallOperation.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/OrthancJobUnserializer.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/OrthancPeerStoreJob.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/ResourceModificationJob.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/SplitStudyJob.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
155 ${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
|
156 ${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
|
157 ${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
|
158 ${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
|
159 ${CMAKE_SOURCE_DIR}/Sources/StorageCommitmentReports.cpp |
2691 | 160 ) |
161 | |
162 | |
4045 | 163 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
|
164 ${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
|
165 ${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
|
166 ${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
|
167 ${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
|
168 ${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
|
169 ${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
|
170 ${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
|
171 ${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
|
172 ${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
|
173 ${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
|
174 ${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
|
175 ${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
|
176 ${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
|
177 ${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
|
178 ${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
|
179 ${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
|
180 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/ZipTests.cpp |
4045 | 181 ) |
182 | |
183 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
|
184 ${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
|
185 ${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
|
186 ${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
|
187 ${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
|
188 ${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
|
189 ${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
|
190 ${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
|
191 ${CMAKE_SOURCE_DIR}/UnitTestsSources/VersionsTests.cpp |
2691 | 192 ) |
193 | |
194 | |
195 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
|
196 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
|
197 |
2691 | 198 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
|
199 ${CMAKE_SOURCE_DIR}/Plugins/Engine/OrthancPluginDatabase.cpp |
4595
cc64385593ef
added OrthancPluginRegisterDatabaseBackendV3() to plugin sdk
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4591
diff
changeset
|
200 ${CMAKE_SOURCE_DIR}/Plugins/Engine/OrthancPluginDatabaseV3.cpp |
5207
e7529e6241d2
first successful protobuf communication
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5193
diff
changeset
|
201 ${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
|
202 ${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
|
203 ${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
|
204 ${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
|
205 ${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
|
206 ${CMAKE_SOURCE_DIR}/Plugins/Engine/PluginsManager.cpp |
2691 | 207 ) |
208 | |
4045 | 209 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
|
210 ${CMAKE_SOURCE_DIR}/UnitTestsSources/PluginsTests.cpp |
2691 | 211 ) |
212 endif() | |
213 | |
214 | |
215 if (CMAKE_COMPILER_IS_GNUCXX | |
216 AND NOT CMAKE_CROSSCOMPILING | |
3275 | 217 AND DCMTK_STATIC_VERSION STREQUAL "3.6.0") |
2691 | 218 # Add the "-pedantic" flag only on the Orthanc sources, and only if |
219 # cross-compiling DCMTK 3.6.0 | |
220 set(ORTHANC_ALL_SOURCES | |
221 ${ORTHANC_CORE_SOURCES_INTERNAL} | |
222 ${ORTHANC_DICOM_SOURCES_INTERNAL} | |
223 ${ORTHANC_SERVER_SOURCES} | |
4045 | 224 ${ORTHANC_FRAMEWORK_UNIT_TESTS} |
225 ${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
|
226 ${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
|
227 ${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
|
228 ${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
|
229 ${CMAKE_SOURCE_DIR}/Sources/main.cpp |
2691 | 230 ) |
231 | |
232 set_source_files_properties(${ORTHANC_ALL_SOURCES} | |
233 PROPERTIES COMPILE_FLAGS -pedantic | |
234 ) | |
235 endif() | |
236 | |
237 | |
238 ##################################################################### | |
239 ## Autogeneration of files | |
240 ##################################################################### | |
241 | |
242 set(ORTHANC_EMBEDDED_FILES | |
5807 | 243 CONFIGURATION_SAMPLE ${CMAKE_SOURCE_DIR}/Resources/Configuration.json |
244 DICOM_CONFORMANCE_STATEMENT ${CMAKE_SOURCE_DIR}/Resources/DicomConformanceStatement.txt | |
245 FONT_UBUNTU_MONO_BOLD_16 ${CMAKE_SOURCE_DIR}/Resources/Fonts/UbuntuMonoBold-16.json | |
246 LUA_TOOLBOX ${CMAKE_SOURCE_DIR}/Resources/Toolbox.lua | |
247 PREPARE_DATABASE ${CMAKE_SOURCE_DIR}/Sources/Database/PrepareDatabase.sql | |
248 UPGRADE_DATABASE_3_TO_4 ${CMAKE_SOURCE_DIR}/Sources/Database/Upgrade3To4.sql | |
249 UPGRADE_DATABASE_4_TO_5 ${CMAKE_SOURCE_DIR}/Sources/Database/Upgrade4To5.sql | |
250 INSTALL_TRACK_ATTACHMENTS_SIZE ${CMAKE_SOURCE_DIR}/Sources/Database/InstallTrackAttachmentsSize.sql | |
251 INSTALL_LABELS_TABLE ${CMAKE_SOURCE_DIR}/Sources/Database/InstallLabelsTable.sql | |
252 INSTALL_REVISION_AND_CUSTOM_DATA ${CMAKE_SOURCE_DIR}/Sources/Database/InstallRevisionAndCustomData.sql | |
2691 | 253 ) |
254 | |
255 if (STANDALONE_BUILD) | |
256 # 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
|
257 add_definitions( |
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
258 -DORTHANC_STANDALONE=1 |
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
259 ) |
4031
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
260 |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
261 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
|
262 ORTHANC_EXPLORER ${CMAKE_SOURCE_DIR}/OrthancExplorer |
2691 | 263 ) |
264 else() | |
265 add_definitions( | |
4030
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
266 -DORTHANC_PATH=\"${CMAKE_SOURCE_DIR}\" |
2691 | 267 -DORTHANC_STANDALONE=0 |
268 ) | |
269 endif() | |
270 | |
4031
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
271 EmbedResources( |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
272 --namespace=Orthanc.ServerResources |
4032
058b5ade8acd
renaming embedded resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4031
diff
changeset
|
273 --target=OrthancServerResources |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
274 --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
|
275 ${ORTHANC_EMBEDDED_FILES} |
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 |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
278 |
2691 | 279 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
280 execute_process( | |
281 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
282 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 283 ${ORTHANC_VERSION} Orthanc Orthanc.exe "Lightweight, RESTful DICOM server for medical imaging" |
284 ERROR_VARIABLE Failure | |
285 OUTPUT_FILE ${AUTOGENERATED_DIR}/Orthanc.rc | |
286 ) | |
287 | |
288 if (Failure) | |
289 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
290 endif() | |
291 | |
292 list(APPEND ORTHANC_RESOURCES ${AUTOGENERATED_DIR}/Orthanc.rc) | |
293 endif() | |
294 | |
295 | |
296 | |
297 ##################################################################### | |
298 ## Configuration of the C/C++ macros | |
299 ##################################################################### | |
300 | |
4366
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
301 check_symbol_exists(mallopt "malloc.h" HAVE_MALLOPT) |
5159
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
302 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
|
303 |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
304 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
|
305 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
|
306 else() |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
307 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
|
308 endif() |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
309 |
5159
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
310 if (HAVE_MALLOC_TRIM) |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
311 add_definitions(-DHAVE_MALLOC_TRIM=1) |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
312 else() |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
313 add_definitions(-DHAVE_MALLOC_TRIM=0) |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
314 endif() |
4366
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
315 |
4063
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
316 if (STATIC_BUILD) |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
317 add_definitions(-DORTHANC_STATIC=1) |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
318 else() |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
319 add_definitions(-DORTHANC_STATIC=0) |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
320 endif() |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
321 |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
322 |
2691 | 323 if (ENABLE_PLUGINS) |
324 add_definitions(-DORTHANC_ENABLE_PLUGINS=1) | |
325 else() | |
326 add_definitions(-DORTHANC_ENABLE_PLUGINS=0) | |
327 endif() | |
328 | |
329 | |
330 if (UNIT_TESTS_WITH_HTTP_CONNEXIONS) | |
331 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=1) | |
332 else() | |
333 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=0) | |
334 endif() | |
335 | |
336 | |
337 add_definitions( | |
338 -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
|
339 |
2691 | 340 # Macros for the plugins |
341 -DHAS_ORTHANC_EXCEPTION=0 | |
342 ) | |
343 | |
344 | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
345 # 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
|
346 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
347 # 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
|
348 # "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
|
349 # headers might get broken! |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
350 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
351 if (MSVC) |
5267 | 352 add_definitions(-DORTHANC_USE_PRECOMPILED_HEADERS=1) |
353 | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
354 set(TMP |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
355 ${ORTHANC_CORE_SOURCES_INTERNAL} |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
356 ${ORTHANC_DICOM_SOURCES_INTERNAL} |
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 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
359 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
360 "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
|
361 TMP ORTHANC_CORE_PCH) |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
362 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
363 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
364 "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
|
365 ORTHANC_SERVER_SOURCES ORTHANC_SERVER_PCH) |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
366 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
367 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
368 "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
|
369 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
|
370 endif() |
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 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
373 |
2691 | 374 ##################################################################### |
375 ## Build the core of Orthanc | |
376 ##################################################################### | |
377 | |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
378 add_custom_target(AutogeneratedTarget |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
379 DEPENDS |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
380 ${AUTOGENERATED_SOURCES} |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
381 ) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
382 |
2691 | 383 # "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
|
384 # content of the "OrthancFramework" folder |
2691 | 385 add_library(CoreLibrary |
386 STATIC | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
387 ${ORTHANC_CORE_PCH} |
2691 | 388 ${ORTHANC_CORE_SOURCES} |
389 ${ORTHANC_DICOM_SOURCES} | |
390 ${AUTOGENERATED_SOURCES} | |
3270 | 391 ) |
392 | |
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
|
393 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
|
394 |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
395 add_dependencies(CoreLibrary AutogeneratedTarget) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
396 |
3270 | 397 if (LIBICU_LIBRARIES) |
398 target_link_libraries(CoreLibrary ${LIBICU_LIBRARIES}) | |
399 endif() | |
2691 | 400 |
401 | |
402 ##################################################################### | |
403 ## Build the Orthanc server | |
404 ##################################################################### | |
405 | |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
406 if (ENABLE_PLUGINS) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
407 add_custom_command( |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
408 COMMAND |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
409 ${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
|
410 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
|
411 ${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
|
412 DEPENDS |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
413 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
|
414 ${CMAKE_SOURCE_DIR}/Resources/PreventProtobufDirectoryLeaks.py |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
415 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancDatabasePlugin.proto |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
416 OUTPUT |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
417 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.cc |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
418 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.h |
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 |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
421 add_custom_target(OrthancDatabaseProtobuf |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
422 DEPENDS |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
423 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.h |
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 |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
426 list(APPEND ORTHANC_SERVER_SOURCES |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
427 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.cc |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
428 ) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
429 else() |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
430 add_custom_target(OrthancDatabaseProtobuf) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
431 endif() |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
432 |
2691 | 433 add_library(ServerLibrary |
434 STATIC | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
435 ${ORTHANC_SERVER_PCH} |
2691 | 436 ${ORTHANC_SERVER_SOURCES} |
437 ) | |
438 | |
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
|
439 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
|
440 |
2691 | 441 # Ensure autogenerated code is built before building ServerLibrary |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
442 add_dependencies(ServerLibrary CoreLibrary OrthancDatabaseProtobuf) |
2691 | 443 |
444 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
|
445 ${CMAKE_SOURCE_DIR}/Sources/main.cpp |
2691 | 446 ${ORTHANC_RESOURCES} |
447 ) | |
448 | |
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
|
449 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
|
450 |
2691 | 451 target_link_libraries(Orthanc ServerLibrary CoreLibrary ${DCMTK_LIBRARIES}) |
452 | |
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
|
453 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
|
454 # 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
|
455 # 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
|
456 # 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
|
457 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
|
458 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
|
459 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
|
460 ) |
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 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
|
462 |
2691 | 463 install( |
464 TARGETS Orthanc | |
465 RUNTIME DESTINATION sbin | |
466 ) | |
467 | |
468 | |
469 ##################################################################### | |
470 ## Build the unit tests | |
471 ##################################################################### | |
472 | |
473 add_executable(UnitTests | |
474 ${GOOGLE_TEST_SOURCES} | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
475 ${ORTHANC_UNIT_TESTS_PCH} |
4045 | 476 ${ORTHANC_FRAMEWORK_UNIT_TESTS} |
477 ${ORTHANC_SERVER_UNIT_TESTS} | |
3326
b21d4cc8e5d1
speed up base64 decoding + added tests
Alain Mazy <alain@mazy.be>
parents:
3295
diff
changeset
|
478 ${BOOST_EXTENDED_SOURCES} |
2691 | 479 ) |
480 | |
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
|
481 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
|
482 |
2691 | 483 target_link_libraries(UnitTests |
484 ServerLibrary | |
485 CoreLibrary | |
486 ${DCMTK_LIBRARIES} | |
487 ${GOOGLE_TEST_LIBRARIES} | |
488 ) | |
489 | |
490 | |
491 ##################################################################### | |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
492 ## 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
|
493 ##################################################################### |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
494 |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
495 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
|
496 (BUILD_SERVE_FOLDERS OR BUILD_MODALITY_WORKLISTS OR BUILD_HOUSEKEEPER OR |
5807 | 497 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
|
498 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
|
499 ${BOOST_SOURCES} |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
500 ${JSONCPP_SOURCES} |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
501 ${LIBICONV_SOURCES} |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
502 ${LIBICU_SOURCES} |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
503 ${PUGIXML_SOURCES} |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
504 ${UUID_SOURCES} |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
505 ${ZLIB_SOURCES} |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
506 |
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/base64/base64.cpp |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
508 ${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
|
509 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
|
510 ) |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
511 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
512 if (BUILD_DELAYED_DELETION) |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
513 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
|
514 ${SQLITE_SOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
515 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
516 endif() |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
517 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
518 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
|
519 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
|
520 ${DCMTK_SOURCES} |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
521 ${OPENSSL_SOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
522 ${LIBJPEG_SOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
523 ${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
|
524 ) |
3271 | 525 endif() |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
526 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
527 add_library(PluginsDependencies STATIC |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
528 ${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
|
529 ) |
3271 | 530 |
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
|
531 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
|
532 |
3233
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
533 # 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
|
534 # 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
|
535 set_target_properties( |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
536 PluginsDependencies |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
537 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
|
538 ) |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
539 endif() |
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 |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
542 ##################################################################### |
2691 | 543 ## Build the "ServeFolders" plugin |
544 ##################################################################### | |
545 | |
546 if (ENABLE_PLUGINS AND BUILD_SERVE_FOLDERS) | |
547 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
548 execute_process( | |
549 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
550 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 551 ${ORTHANC_VERSION} ServeFolders ServeFolders.dll "Orthanc plugin to serve additional folders" |
552 ERROR_VARIABLE Failure | |
553 OUTPUT_FILE ${AUTOGENERATED_DIR}/ServeFolders.rc | |
554 ) | |
555 | |
556 if (Failure) | |
557 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
558 endif() | |
559 | |
560 list(APPEND SERVE_FOLDERS_RESOURCES ${AUTOGENERATED_DIR}/ServeFolders.rc) | |
561 endif() | |
562 | |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
563 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
|
564 ${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
|
565 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
|
566 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
567 |
2691 | 568 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
|
569 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ServeFolders/Plugin.cpp |
2691 | 570 ${SERVE_FOLDERS_RESOURCES} |
571 ) | |
572 | |
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
|
573 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
|
574 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
575 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
|
576 |
2691 | 577 set_target_properties( |
578 ServeFolders PROPERTIES | |
579 VERSION ${ORTHANC_VERSION} | |
580 SOVERSION ${ORTHANC_VERSION} | |
581 ) | |
582 | |
583 install( | |
584 TARGETS ServeFolders | |
585 RUNTIME DESTINATION lib # Destination for Windows | |
586 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux | |
587 ) | |
588 endif() | |
589 | |
590 | |
591 | |
592 ##################################################################### | |
593 ## Build the "ModalityWorklists" plugin | |
594 ##################################################################### | |
595 | |
596 if (ENABLE_PLUGINS AND BUILD_MODALITY_WORKLISTS) | |
597 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
598 execute_process( | |
599 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
600 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 601 ${ORTHANC_VERSION} ModalityWorklists ModalityWorklists.dll "Sample Orthanc plugin to serve modality worklists" |
602 ERROR_VARIABLE Failure | |
603 OUTPUT_FILE ${AUTOGENERATED_DIR}/ModalityWorklists.rc | |
604 ) | |
605 | |
606 if (Failure) | |
607 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
608 endif() | |
609 | |
610 list(APPEND MODALITY_WORKLISTS_RESOURCES ${AUTOGENERATED_DIR}/ModalityWorklists.rc) | |
611 endif() | |
612 | |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
613 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
|
614 ${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
|
615 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
|
616 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
617 |
2691 | 618 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
|
619 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ModalityWorklists/Plugin.cpp |
2691 | 620 ${MODALITY_WORKLISTS_RESOURCES} |
621 ) | |
622 | |
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
|
623 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
|
624 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
625 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
|
626 |
2691 | 627 set_target_properties( |
628 ModalityWorklists PROPERTIES | |
629 VERSION ${ORTHANC_VERSION} | |
630 SOVERSION ${ORTHANC_VERSION} | |
631 ) | |
632 | |
633 install( | |
634 TARGETS ModalityWorklists | |
635 RUNTIME DESTINATION lib # Destination for Windows | |
636 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux | |
637 ) | |
638 endif() | |
639 | |
640 | |
641 | |
642 ##################################################################### | |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
643 ## Build the "ConnectivityChecks" plugin |
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 |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
646 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
|
647 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
|
648 execute_process( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
649 COMMAND |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
650 ${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
|
651 ${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
|
652 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
|
653 OUTPUT_FILE ${AUTOGENERATED_DIR}/ConnectivityChecks.rc |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
654 ) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
655 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
656 if (Failure) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
657 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
|
658 endif() |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
659 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
660 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
|
661 endif() |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
662 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
663 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
|
664 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
665 EmbedResources( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
666 --target=ConnectivityChecksResources |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
667 --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
|
668 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
|
669 LIBRARIES ${CONNECTIVITY_CHECKS_JAVASCRIPT_DIR} |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
670 ) |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
671 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
672 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
|
673 ${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
|
674 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
|
675 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
676 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
677 # 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
|
678 # 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
|
679 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
|
680 ${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
|
681 ${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
|
682 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
683 ${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
|
684 ${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
|
685 ) |
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
|
686 |
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 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
|
688 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
689 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
|
690 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
691 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
|
692 ConnectivityChecks PROPERTIES |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
693 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
|
694 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
|
695 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
696 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
697 install( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
698 TARGETS ConnectivityChecks |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
699 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
|
700 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
|
701 ) |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
702 endif() |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
703 |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
704 |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
705 ##################################################################### |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
706 ## Build the "DelayedDeletion" plugin |
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 |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
709 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
|
710 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
|
711 execute_process( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
712 COMMAND |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
713 ${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
|
714 ${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
|
715 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
|
716 OUTPUT_FILE ${AUTOGENERATED_DIR}/DelayedDeletion.rc |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
717 ) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
718 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
719 if (Failure) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
720 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
|
721 endif() |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
722 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
723 list(APPEND DELAYED_DELETION_RESOURCES ${AUTOGENERATED_DIR}/DelayedDeletion.rc) |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
724 endif() |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
725 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
726 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
|
727 ${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
|
728 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
|
729 ) |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
730 |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
731 # 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
|
732 # 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
|
733 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
|
734 ${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
|
735 ${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
|
736 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
737 ${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
|
738 ${DELAYED_DELETION_RESOURCES} |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
739 ) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
740 |
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
|
741 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
|
742 |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
743 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
|
744 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
745 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
|
746 DelayedDeletion PROPERTIES |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
747 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
|
748 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
|
749 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
750 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
751 install( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
752 TARGETS DelayedDeletion |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
753 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
|
754 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
|
755 ) |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
756 endif() |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
757 |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
758 |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
759 ##################################################################### |
4979
f316413027fd
renamed DbOptizer into Housekeeper + add Scheduler & triggers
Alain Mazy <am@osimis.io>
parents:
4971
diff
changeset
|
760 ## Build the "Housekeeper" plugin |
4961 | 761 ##################################################################### |
762 | |
4981 | 763 if (ENABLE_PLUGINS AND BUILD_HOUSEKEEPER) |
764 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
765 execute_process( | |
766 COMMAND | |
767 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py | |
768 ${ORTHANC_VERSION} Housekeeper Housekeeper.dll "Sample Orthanc plugin to optimize/clean the DB/Storage" | |
769 ERROR_VARIABLE Failure | |
770 OUTPUT_FILE ${AUTOGENERATED_DIR}/Housekeeper.rc | |
771 ) | |
772 | |
773 if (Failure) | |
774 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
775 endif() | |
776 | |
777 list(APPEND HOUSEKEEPER_RESOURCES ${AUTOGENERATED_DIR}/Housekeeper.rc) | |
778 endif() | |
779 | |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
780 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
|
781 ${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
|
782 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
|
783 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
784 |
4981 | 785 add_library(Housekeeper SHARED |
786 ${CMAKE_SOURCE_DIR}/Plugins/Samples/Housekeeper/Plugin.cpp | |
787 ${HOUSEKEEPER_RESOURCES} | |
788 ) | |
789 | |
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
|
790 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
|
791 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
792 target_link_libraries(Housekeeper PluginsDependencies) |
4981 | 793 |
794 set_target_properties( | |
795 Housekeeper PROPERTIES | |
796 VERSION ${ORTHANC_VERSION} | |
797 SOVERSION ${ORTHANC_VERSION} | |
798 ) | |
799 | |
800 install( | |
801 TARGETS Housekeeper | |
802 RUNTIME DESTINATION lib # Destination for Windows | |
803 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux | |
804 ) | |
4961 | 805 endif() |
806 | |
807 | |
808 ##################################################################### | |
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
|
809 ## 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
|
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 |
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
|
812 if (ENABLE_PLUGINS AND BUILD_ADVANCED_STORAGE) |
5807 | 813 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
814 execute_process( | |
815 COMMAND | |
816 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py | |
817 ${ORTHANC_VERSION} AdvancedStorage AdvancedStorage.dll "Orthanc plugin to provide advanced file storage" | |
818 ERROR_VARIABLE Failure | |
819 OUTPUT_FILE ${AUTOGENERATED_DIR}/AdvancedStorage.rc | |
820 ) | |
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
|
821 |
5807 | 822 if (Failure) |
823 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
824 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
|
825 |
5807 | 826 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
|
827 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
|
828 |
5811
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
829 EmbedResources( |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
830 --target=AdvancedStorageDicomResources |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
831 --namespace=Orthanc.FrameworkResources |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
832 --framework-path=${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
833 ${LIBICU_RESOURCES} |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
834 ${DCMTK_DICTIONARIES} |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
835 ) |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
836 |
5807 | 837 set_source_files_properties( |
838 ${CMAKE_SOURCE_DIR}/Plugins/Samples/AdvancedStorage/Plugin.cpp | |
839 PROPERTIES COMPILE_DEFINITIONS "ADVANCED_STORAGE_VERSION=\"${ORTHANC_VERSION}\"" | |
840 ) | |
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
|
841 |
5807 | 842 add_library(AdvancedStorage SHARED |
843 ${CMAKE_SOURCE_DIR}/Plugins/Samples/AdvancedStorage/Plugin.cpp | |
5811
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
844 ${CMAKE_SOURCE_DIR}/Plugins/Samples/AdvancedStorage/OrthancFrameworkDependencies.cpp |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
845 ${AUTOGENERATED_DIR}/AdvancedStorageDicomResources.cpp |
a451777236fb
advanced storage: fix + customizable path
Alain Mazy <am@orthanc.team>
parents:
5809
diff
changeset
|
846 ${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
|
847 ) |
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
|
848 |
5807 | 849 DefineSourceBasenameForTarget(AdvancedStorage) |
850 | |
851 target_link_libraries(AdvancedStorage PluginsDependencies) | |
852 | |
853 set_target_properties( | |
854 AdvancedStorage PROPERTIES | |
855 VERSION ${ORTHANC_VERSION} | |
856 SOVERSION ${ORTHANC_VERSION} | |
857 ) | |
858 | |
859 install( | |
860 TARGETS AdvancedStorage | |
861 RUNTIME DESTINATION lib # Destination for Windows | |
862 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux | |
863 ) | |
864 endif() | |
865 | |
866 ##################################################################### | |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
867 ## 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
|
868 ##################################################################### |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
869 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
870 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
|
871 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
|
872 execute_process( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
873 COMMAND |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
874 ${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
|
875 ${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
|
876 ERROR_VARIABLE Failure |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
877 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
|
878 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
879 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
880 if (Failure) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
881 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
|
882 endif() |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
883 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
884 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
|
885 endif() |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
886 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
887 EmbedResources( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
888 --target=MultitenantDicomResources |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
889 --namespace=Orthanc.FrameworkResources |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
890 --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
|
891 ${LIBICU_RESOURCES} |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
892 ${DCMTK_DICTIONARIES} |
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 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
895 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
|
896 ${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
|
897 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
|
898 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
899 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
900 # 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
|
901 # 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
|
902 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
|
903 ${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
|
904 ${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
|
905 ${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
|
906 ${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
|
907 ${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
|
908 ${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
|
909 ${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
|
910 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
911 ${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
|
912 ${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
|
913 ${MULTITENANT_DICOM_RESOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
914 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
915 |
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
|
916 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
|
917 |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
918 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
|
919 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
920 set_target_properties( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
921 MultitenantDicom PROPERTIES |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
922 VERSION ${ORTHANC_VERSION} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
923 SOVERSION ${ORTHANC_VERSION} |
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 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
926 install( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
927 TARGETS MultitenantDicom |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
928 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
|
929 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
|
930 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
931 endif() |
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 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
934 ##################################################################### |
2691 | 935 ## Build the companion tool to recover files compressed using Orthanc |
936 ##################################################################### | |
937 | |
938 if (BUILD_RECOVER_COMPRESSED_FILE) | |
939 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
|
940 ${CMAKE_SOURCE_DIR}/Resources/Samples/Tools/RecoverCompressedFile.cpp |
2691 | 941 ) |
942 | |
943 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
944 execute_process( | |
945 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
946 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 947 ${ORTHANC_VERSION} OrthancRecoverCompressedFile OrthancRecoverCompressedFile.exe |
948 "Lightweight, RESTful DICOM server for medical imaging" | |
949 ERROR_VARIABLE Failure | |
950 OUTPUT_FILE ${AUTOGENERATED_DIR}/OrthancRecoverCompressedFile.rc | |
951 ) | |
952 | |
953 if (Failure) | |
954 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
955 endif() | |
956 | |
957 list(APPEND RECOVER_COMPRESSED_SOURCES | |
958 ${AUTOGENERATED_DIR}/OrthancRecoverCompressedFile.rc | |
959 ) | |
960 endif() | |
961 | |
962 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
|
963 DefineSourceBasenameForTarget(OrthancRecoverCompressedFile) |
2691 | 964 |
965 target_link_libraries(OrthancRecoverCompressedFile CoreLibrary) | |
966 | |
967 install( | |
968 TARGETS OrthancRecoverCompressedFile | |
969 RUNTIME DESTINATION bin | |
970 ) | |
971 endif() | |
972 | |
973 | |
974 | |
975 ##################################################################### | |
976 ## Generate the documentation if Doxygen is present | |
977 ##################################################################### | |
978 | |
979 find_package(Doxygen) | |
980 if (DOXYGEN_FOUND) | |
981 configure_file( | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
982 ${CMAKE_SOURCE_DIR}/Resources/Orthanc.doxygen |
2691 | 983 ${CMAKE_CURRENT_BINARY_DIR}/Orthanc.doxygen |
984 @ONLY) | |
985 | |
986 configure_file( | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
987 ${CMAKE_SOURCE_DIR}/Resources/OrthancPlugin.doxygen |
2691 | 988 ${CMAKE_CURRENT_BINARY_DIR}/OrthancPlugin.doxygen |
989 @ONLY) | |
990 | |
991 add_custom_target(doc | |
992 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Orthanc.doxygen | |
993 COMMENT "Generating internal documentation with Doxygen" VERBATIM | |
994 ) | |
995 | |
996 add_custom_command(TARGET Orthanc | |
997 POST_BUILD | |
998 COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancPlugin.doxygen | |
999 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} | |
1000 COMMENT "Generating plugin documentation with Doxygen" VERBATIM | |
1001 ) | |
1002 | |
1003 install( | |
1004 DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/OrthancPluginDocumentation/doc/ | |
1005 DESTINATION share/doc/orthanc/OrthancPlugin | |
1006 ) | |
1007 else() | |
1008 message("Doxygen not found. The documentation will not be built.") | |
1009 endif() | |
1010 | |
1011 | |
1012 | |
1013 ##################################################################### | |
1014 ## Install the plugin SDK | |
1015 ##################################################################### | |
1016 | |
1017 if (ENABLE_PLUGINS) | |
1018 install( | |
1019 FILES | |
5189
50c4a18caa85
installing OrthancDatabasePlugin.proto
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5188
diff
changeset
|
1020 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancCPlugin.h |
50c4a18caa85
installing OrthancDatabasePlugin.proto
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5188
diff
changeset
|
1021 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancCDatabasePlugin.h |
50c4a18caa85
installing OrthancDatabasePlugin.proto
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5188
diff
changeset
|
1022 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancDatabasePlugin.proto |
2691 | 1023 DESTINATION include/orthanc |
1024 ) | |
1025 endif() | |
1026 | |
1027 | |
1028 | |
1029 ##################################################################### | |
1030 ## Prepare the "uninstall" target | |
1031 ## http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F | |
1032 ##################################################################### | |
1033 | |
1034 configure_file( | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
1035 "${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/CMake/Uninstall.cmake.in" |
2691 | 1036 "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" |
1037 IMMEDIATE @ONLY) | |
1038 | |
1039 add_custom_target(uninstall | |
1040 COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) |