Mercurial > hg > orthanc
annotate OrthancServer/CMakeLists.txt @ 5347:4f686f6150c7
merge
author | Alain Mazy <am@osimis.io> |
---|---|
date | Thu, 29 Jun 2023 09:43:41 +0200 |
parents | 7cb1b851f5c8 |
children | fddb5d8d0021 |
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 |
5185
0ea402b4d901
upgrade to year 2023
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5159
diff
changeset
|
4 # Copyright (C) 2017-2023 Osimis S.A., Belgium |
0ea402b4d901
upgrade to year 2023
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5159
diff
changeset
|
5 # Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium |
4124
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
6 # |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
7 # 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
|
8 # 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
|
9 # 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
|
10 # License, or (at your option) any later version. |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
11 # |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
12 # 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
|
13 # WITHOUT ANY WARRANTY; without even the implied warranty of |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
14 # 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
|
15 # General Public License for more details. |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
16 # |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
17 # 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
|
18 # 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
|
19 |
28944db5318b
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4121
diff
changeset
|
20 |
2691 | 21 cmake_minimum_required(VERSION 2.8) |
4170
1657c8700974
better fix for CMP0058
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4168
diff
changeset
|
22 cmake_policy(SET CMP0058 NEW) |
2691 | 23 |
24 project(Orthanc) | |
25 | |
26 | |
27 ##################################################################### | |
28 ## Generic parameters of the Orthanc framework | |
29 ##################################################################### | |
30 | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
31 include(${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/CMake/OrthancFrameworkParameters.cmake) |
2691 | 32 |
33 # Enable all the optional components of the Orthanc framework | |
34 set(ENABLE_CRYPTO_OPTIONS ON) | |
35 set(ENABLE_DCMTK ON) | |
36 set(ENABLE_DCMTK_NETWORKING ON) | |
3893 | 37 set(ENABLE_DCMTK_TRANSCODING ON) |
2691 | 38 set(ENABLE_GOOGLE_TEST ON) |
39 set(ENABLE_JPEG ON) | |
40 set(ENABLE_LOCALE ON) | |
41 set(ENABLE_LUA ON) | |
3723
cc6d4edfe8fe
fix pkcs11 compilation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3633
diff
changeset
|
42 set(ENABLE_OPENSSL_ENGINES ON) # OpenSSL engines are necessary for PKCS11 |
2691 | 43 set(ENABLE_PNG ON) |
44 set(ENABLE_PUGIXML ON) | |
45 set(ENABLE_SQLITE ON) | |
46 set(ENABLE_WEB_CLIENT ON) | |
47 set(ENABLE_WEB_SERVER ON) | |
48 set(ENABLE_ZLIB ON) | |
49 | |
50 | |
51 ##################################################################### | |
52 ## CMake parameters tunable at the command line to configure the | |
53 ## plugins, the companion tools, and the unit tests | |
54 ##################################################################### | |
55 | |
56 # Parameters of the build | |
4030
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
57 set(STANDALONE_BUILD ON CACHE BOOL "Standalone build (all the resources are embedded, necessary for releases)") |
2691 | 58 SET(BUILD_MODALITY_WORKLISTS ON CACHE BOOL "Whether to build the sample plugin to serve modality worklists") |
59 SET(BUILD_RECOVER_COMPRESSED_FILE ON CACHE BOOL "Whether to build the companion tool to recover files compressed using Orthanc") | |
60 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
|
61 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
|
62 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
|
63 SET(BUILD_DELAYED_DELETION ON CACHE BOOL "Whether to build the DelayedDeletion plugin") |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
64 SET(BUILD_MULTITENANT_DICOM ON CACHE BOOL "Whether to build the MultitenantDicom plugin") |
2691 | 65 SET(ENABLE_PLUGINS ON CACHE BOOL "Enable plugins") |
66 SET(UNIT_TESTS_WITH_HTTP_CONNEXIONS ON CACHE BOOL "Allow unit tests to make HTTP requests") | |
67 | |
68 | |
69 ##################################################################### | |
70 ## Configuration of the Orthanc framework | |
71 ##################################################################### | |
72 | |
5193
1a878922404b
removed unused IDatabaseWrapper::IsExistingResource()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5189
diff
changeset
|
73 if (ENABLE_PLUGINS) |
1a878922404b
removed unused IDatabaseWrapper::IsExistingResource()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5189
diff
changeset
|
74 set(ENABLE_PROTOBUF ON) |
1a878922404b
removed unused IDatabaseWrapper::IsExistingResource()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5189
diff
changeset
|
75 set(ENABLE_PROTOBUF_COMPILER ON) |
1a878922404b
removed unused IDatabaseWrapper::IsExistingResource()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5189
diff
changeset
|
76 endif() |
1a878922404b
removed unused IDatabaseWrapper::IsExistingResource()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5189
diff
changeset
|
77 |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
78 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
|
79 include(${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/CMake/OrthancFrameworkConfiguration.cmake) |
2691 | 80 |
4099
bf1a17f12306
moving version scripts from OrthancFramework to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4096
diff
changeset
|
81 # 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
|
82 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
|
83 |
2691 | 84 |
85 ##################################################################### | |
86 ## List of source files | |
87 ##################################################################### | |
88 | |
89 set(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
|
90 ${CMAKE_SOURCE_DIR}/Sources/Database/Compatibility/DatabaseLookup.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
91 ${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
|
92 ${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
|
93 ${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
|
94 ${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
|
95 ${CMAKE_SOURCE_DIR}/Sources/Database/Compatibility/SetOfResources.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/ResourcesContent.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/SQLiteDatabaseWrapper.cpp |
4586
1d96fe7e054e
taking StatelessDatabaseOperations out of ServerIndex
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4520
diff
changeset
|
98 ${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
|
99 ${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
|
100 ${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
|
101 ${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
|
102 ${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
|
103 ${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
|
104 ${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
|
105 ${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
|
106 ${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
|
107 ${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
|
108 ${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
|
109 ${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
|
110 ${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
|
111 ${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
|
112 ${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
|
113 ${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
|
114 ${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
|
115 ${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
|
116 ${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
|
117 ${CMAKE_SOURCE_DIR}/Sources/OrthancRestApi/OrthancRestSystem.cpp |
4240 | 118 ${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
|
119 ${CMAKE_SOURCE_DIR}/Sources/QueryRetrieveHandler.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/Search/DatabaseConstraint.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/Search/DatabaseLookup.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/Search/DicomTagConstraint.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/Search/HierarchicalMatcher.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/Search/ISqlLookupFormatter.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/ServerContext.cpp |
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
126 ${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
|
127 ${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
|
128 ${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
|
129 ${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
|
130 ${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
|
131 ${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
|
132 ${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
|
133 ${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
|
134 ${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
|
135 ${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
|
136 ${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
|
137 ${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
|
138 ${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
|
139 ${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
|
140 ${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
|
141 ${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
|
142 ${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
|
143 ${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
|
144 ${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
|
145 ${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
|
146 ${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
|
147 ${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
|
148 ${CMAKE_SOURCE_DIR}/Sources/StorageCommitmentReports.cpp |
2691 | 149 ) |
150 | |
151 | |
4045 | 152 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
|
153 ${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
|
154 ${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
|
155 ${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
|
156 ${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
|
157 ${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
|
158 ${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
|
159 ${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
|
160 ${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
|
161 ${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
|
162 ${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
|
163 ${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
|
164 ${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
|
165 ${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
|
166 ${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
|
167 ${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
|
168 ${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
|
169 ${CMAKE_SOURCE_DIR}/../OrthancFramework/UnitTestsSources/ZipTests.cpp |
4045 | 170 ) |
171 | |
172 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
|
173 ${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
|
174 ${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
|
175 ${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
|
176 ${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
|
177 ${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
|
178 ${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
|
179 ${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
|
180 ${CMAKE_SOURCE_DIR}/UnitTestsSources/VersionsTests.cpp |
2691 | 181 ) |
182 | |
183 | |
184 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
|
185 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
|
186 |
2691 | 187 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
|
188 ${CMAKE_SOURCE_DIR}/Plugins/Engine/OrthancPluginDatabase.cpp |
4595
cc64385593ef
added OrthancPluginRegisterDatabaseBackendV3() to plugin sdk
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4591
diff
changeset
|
189 ${CMAKE_SOURCE_DIR}/Plugins/Engine/OrthancPluginDatabaseV3.cpp |
5207
e7529e6241d2
first successful protobuf communication
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5193
diff
changeset
|
190 ${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
|
191 ${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
|
192 ${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
|
193 ${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
|
194 ${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
|
195 ${CMAKE_SOURCE_DIR}/Plugins/Engine/PluginsManager.cpp |
2691 | 196 ) |
197 | |
4045 | 198 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
|
199 ${CMAKE_SOURCE_DIR}/UnitTestsSources/PluginsTests.cpp |
2691 | 200 ) |
201 endif() | |
202 | |
203 | |
204 if (CMAKE_COMPILER_IS_GNUCXX | |
205 AND NOT CMAKE_CROSSCOMPILING | |
3275 | 206 AND DCMTK_STATIC_VERSION STREQUAL "3.6.0") |
2691 | 207 # Add the "-pedantic" flag only on the Orthanc sources, and only if |
208 # cross-compiling DCMTK 3.6.0 | |
209 set(ORTHANC_ALL_SOURCES | |
210 ${ORTHANC_CORE_SOURCES_INTERNAL} | |
211 ${ORTHANC_DICOM_SOURCES_INTERNAL} | |
212 ${ORTHANC_SERVER_SOURCES} | |
4045 | 213 ${ORTHANC_FRAMEWORK_UNIT_TESTS} |
214 ${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
|
215 ${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
|
216 ${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
|
217 ${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
|
218 ${CMAKE_SOURCE_DIR}/Sources/main.cpp |
2691 | 219 ) |
220 | |
221 set_source_files_properties(${ORTHANC_ALL_SOURCES} | |
222 PROPERTIES COMPILE_FLAGS -pedantic | |
223 ) | |
224 endif() | |
225 | |
226 | |
227 ##################################################################### | |
228 ## Autogeneration of files | |
229 ##################################################################### | |
230 | |
231 set(ORTHANC_EMBEDDED_FILES | |
5221
d0f7c742d397
started implementation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
232 CONFIGURATION_SAMPLE ${CMAKE_SOURCE_DIR}/Resources/Configuration.json |
d0f7c742d397
started implementation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
233 DICOM_CONFORMANCE_STATEMENT ${CMAKE_SOURCE_DIR}/Resources/DicomConformanceStatement.txt |
d0f7c742d397
started implementation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
234 FONT_UBUNTU_MONO_BOLD_16 ${CMAKE_SOURCE_DIR}/Resources/Fonts/UbuntuMonoBold-16.json |
d0f7c742d397
started implementation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
235 LUA_TOOLBOX ${CMAKE_SOURCE_DIR}/Resources/Toolbox.lua |
d0f7c742d397
started implementation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
236 PREPARE_DATABASE ${CMAKE_SOURCE_DIR}/Sources/Database/PrepareDatabase.sql |
d0f7c742d397
started implementation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
237 UPGRADE_DATABASE_3_TO_4 ${CMAKE_SOURCE_DIR}/Sources/Database/Upgrade3To4.sql |
d0f7c742d397
started implementation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
238 UPGRADE_DATABASE_4_TO_5 ${CMAKE_SOURCE_DIR}/Sources/Database/Upgrade4To5.sql |
d0f7c742d397
started implementation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
239 INSTALL_TRACK_ATTACHMENTS_SIZE ${CMAKE_SOURCE_DIR}/Sources/Database/InstallTrackAttachmentsSize.sql |
d0f7c742d397
started implementation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
240 INSTALL_LABELS_TABLE ${CMAKE_SOURCE_DIR}/Sources/Database/InstallLabelsTable.sql |
2691 | 241 ) |
242 | |
243 if (STANDALONE_BUILD) | |
244 # 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
|
245 add_definitions( |
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
246 -DORTHANC_STANDALONE=1 |
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
247 ) |
4031
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
248 |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
249 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
|
250 ORTHANC_EXPLORER ${CMAKE_SOURCE_DIR}/OrthancExplorer |
2691 | 251 ) |
252 else() | |
253 add_definitions( | |
4030
100fbe970762
DANGEROUS commit: removing HAS_EMBEDDED_RESOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4015
diff
changeset
|
254 -DORTHANC_PATH=\"${CMAKE_SOURCE_DIR}\" |
2691 | 255 -DORTHANC_STANDALONE=0 |
256 ) | |
257 endif() | |
258 | |
4031
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
259 EmbedResources( |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
260 --namespace=Orthanc.ServerResources |
4032
058b5ade8acd
renaming embedded resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4031
diff
changeset
|
261 --target=OrthancServerResources |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
262 --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
|
263 ${ORTHANC_EMBEDDED_FILES} |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
264 ) |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
265 |
e3b3af80732d
ServerResources, and moving EmbeddedResourceHttpHandler from Core to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4030
diff
changeset
|
266 |
2691 | 267 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
268 execute_process( | |
269 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
270 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 271 ${ORTHANC_VERSION} Orthanc Orthanc.exe "Lightweight, RESTful DICOM server for medical imaging" |
272 ERROR_VARIABLE Failure | |
273 OUTPUT_FILE ${AUTOGENERATED_DIR}/Orthanc.rc | |
274 ) | |
275 | |
276 if (Failure) | |
277 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
278 endif() | |
279 | |
280 list(APPEND ORTHANC_RESOURCES ${AUTOGENERATED_DIR}/Orthanc.rc) | |
281 endif() | |
282 | |
283 | |
284 | |
285 ##################################################################### | |
286 ## Configuration of the C/C++ macros | |
287 ##################################################################### | |
288 | |
4366
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
289 check_symbol_exists(mallopt "malloc.h" HAVE_MALLOPT) |
5159
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
290 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
|
291 |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
292 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
|
293 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
|
294 else() |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
295 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
|
296 endif() |
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
297 |
5159
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
298 if (HAVE_MALLOC_TRIM) |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
299 add_definitions(-DHAVE_MALLOC_TRIM=1) |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
300 else() |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
301 add_definitions(-DHAVE_MALLOC_TRIM=0) |
f5907aecbaed
conditional usage of malloc_trim
Alain Mazy <am@osimis.io>
parents:
5130
diff
changeset
|
302 endif() |
4366
6a39ca7083b9
New config option "MallocArenaMax" to control memory usage on GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4240
diff
changeset
|
303 |
4063
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
304 if (STATIC_BUILD) |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
305 add_definitions(-DORTHANC_STATIC=1) |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
306 else() |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
307 add_definitions(-DORTHANC_STATIC=0) |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
308 endif() |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
309 |
e00f3d089991
shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4060
diff
changeset
|
310 |
2691 | 311 if (ENABLE_PLUGINS) |
312 add_definitions(-DORTHANC_ENABLE_PLUGINS=1) | |
313 else() | |
314 add_definitions(-DORTHANC_ENABLE_PLUGINS=0) | |
315 endif() | |
316 | |
317 | |
318 if (UNIT_TESTS_WITH_HTTP_CONNEXIONS) | |
319 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=1) | |
320 else() | |
321 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=0) | |
322 endif() | |
323 | |
324 | |
325 add_definitions( | |
326 -DORTHANC_BUILD_UNIT_TESTS=1 | |
4096
d633e5bb7ba3
reusing of ISqlLookupFormatter and DatabaseConstraint in orthanc-databases project
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4091
diff
changeset
|
327 -DORTHANC_BUILDING_SERVER_LIBRARY=1 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
328 |
2691 | 329 # Macros for the plugins |
330 -DHAS_ORTHANC_EXCEPTION=0 | |
331 ) | |
332 | |
333 | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
334 # 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
|
335 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
336 # 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
|
337 # "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
|
338 # headers might get broken! |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
339 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
340 if (MSVC) |
5267 | 341 add_definitions(-DORTHANC_USE_PRECOMPILED_HEADERS=1) |
342 | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
343 set(TMP |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
344 ${ORTHANC_CORE_SOURCES_INTERNAL} |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
345 ${ORTHANC_DICOM_SOURCES_INTERNAL} |
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 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
348 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
349 "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
|
350 TMP ORTHANC_CORE_PCH) |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
351 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
352 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
353 "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
|
354 ORTHANC_SERVER_SOURCES ORTHANC_SERVER_PCH) |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
355 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
356 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
357 "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
|
358 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
|
359 endif() |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
360 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
361 |
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
362 |
2691 | 363 ##################################################################### |
364 ## Build the core of Orthanc | |
365 ##################################################################### | |
366 | |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
367 add_custom_target(AutogeneratedTarget |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
368 DEPENDS |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
369 ${AUTOGENERATED_SOURCES} |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
370 ) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
371 |
2691 | 372 # "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
|
373 # content of the "OrthancFramework" folder |
2691 | 374 add_library(CoreLibrary |
375 STATIC | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
376 ${ORTHANC_CORE_PCH} |
2691 | 377 ${ORTHANC_CORE_SOURCES} |
378 ${ORTHANC_DICOM_SOURCES} | |
379 ${AUTOGENERATED_SOURCES} | |
3270 | 380 ) |
381 | |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
382 add_dependencies(CoreLibrary AutogeneratedTarget) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
383 |
3270 | 384 if (LIBICU_LIBRARIES) |
385 target_link_libraries(CoreLibrary ${LIBICU_LIBRARIES}) | |
386 endif() | |
2691 | 387 |
388 | |
389 ##################################################################### | |
390 ## Build the Orthanc server | |
391 ##################################################################### | |
392 | |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
393 if (ENABLE_PLUGINS) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
394 add_custom_command( |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
395 COMMAND |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
396 ${PROTOC_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancDatabasePlugin.proto --cpp_out=${AUTOGENERATED_DIR} -I${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
397 DEPENDS |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
398 ProtobufCompiler |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
399 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancDatabasePlugin.proto |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
400 OUTPUT |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
401 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.cc |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
402 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.h |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
403 ) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
404 |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
405 add_custom_target(OrthancDatabaseProtobuf |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
406 DEPENDS |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
407 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.h |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
408 ) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
409 |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
410 list(APPEND ORTHANC_SERVER_SOURCES |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
411 ${AUTOGENERATED_DIR}/OrthancDatabasePlugin.pb.cc |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
412 ) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
413 else() |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
414 add_custom_target(OrthancDatabaseProtobuf) |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
415 endif() |
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
416 |
2691 | 417 add_library(ServerLibrary |
418 STATIC | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
419 ${ORTHANC_SERVER_PCH} |
2691 | 420 ${ORTHANC_SERVER_SOURCES} |
421 ) | |
422 | |
423 # Ensure autogenerated code is built before building ServerLibrary | |
5188
4c6f0211caaf
compiling the protobuf compiler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5187
diff
changeset
|
424 add_dependencies(ServerLibrary CoreLibrary OrthancDatabaseProtobuf) |
2691 | 425 |
426 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
|
427 ${CMAKE_SOURCE_DIR}/Sources/main.cpp |
2691 | 428 ${ORTHANC_RESOURCES} |
429 ) | |
430 | |
431 target_link_libraries(Orthanc ServerLibrary CoreLibrary ${DCMTK_LIBRARIES}) | |
432 | |
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
|
433 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
|
434 # 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
|
435 # 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
|
436 # 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
|
437 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
|
438 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
|
439 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
|
440 ) |
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
|
441 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
|
442 |
2691 | 443 install( |
444 TARGETS Orthanc | |
445 RUNTIME DESTINATION sbin | |
446 ) | |
447 | |
448 | |
449 ##################################################################### | |
450 ## Build the unit tests | |
451 ##################################################################### | |
452 | |
453 add_executable(UnitTests | |
454 ${GOOGLE_TEST_SOURCES} | |
5262
bf304ee8dd80
revert precompiled headers, as they really help
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5260
diff
changeset
|
455 ${ORTHANC_UNIT_TESTS_PCH} |
4045 | 456 ${ORTHANC_FRAMEWORK_UNIT_TESTS} |
457 ${ORTHANC_SERVER_UNIT_TESTS} | |
3326
b21d4cc8e5d1
speed up base64 decoding + added tests
Alain Mazy <alain@mazy.be>
parents:
3295
diff
changeset
|
458 ${BOOST_EXTENDED_SOURCES} |
2691 | 459 ) |
460 | |
461 target_link_libraries(UnitTests | |
462 ServerLibrary | |
463 CoreLibrary | |
464 ${DCMTK_LIBRARIES} | |
465 ${GOOGLE_TEST_LIBRARIES} | |
466 ) | |
467 | |
468 | |
469 ##################################################################### | |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
470 ## 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
|
471 ##################################################################### |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
472 |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
473 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
|
474 (BUILD_SERVE_FOLDERS OR BUILD_MODALITY_WORKLISTS OR BUILD_HOUSEKEEPER OR |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
475 BUILD_DELAYED_DELETION OR BUILD_MULTITENANT_DICOM)) |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
476 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
|
477 ${BOOST_SOURCES} |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
478 ${JSONCPP_SOURCES} |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
479 ${LIBICONV_SOURCES} |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
480 ${LIBICU_SOURCES} |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
481 ${PUGIXML_SOURCES} |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
482 ${UUID_SOURCES} |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
483 ${ZLIB_SOURCES} |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
484 |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
485 ${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
|
486 ${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
|
487 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
|
488 ) |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
489 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
490 if (BUILD_DELAYED_DELETION) |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
491 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
|
492 ${SQLITE_SOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
493 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
494 endif() |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
495 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
496 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
|
497 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
|
498 ${DCMTK_SOURCES} |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
499 ${OPENSSL_SOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
500 ${LIBJPEG_SOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
501 ${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
|
502 ) |
3271 | 503 endif() |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
504 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
505 add_library(PluginsDependencies STATIC |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
506 ${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
|
507 ) |
3271 | 508 |
3233
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
509 # 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
|
510 # 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
|
511 set_target_properties( |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
512 PluginsDependencies |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
513 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
|
514 ) |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
515 endif() |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
516 |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
517 |
47fbb0467a62
Build a static library to share code between the plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3187
diff
changeset
|
518 ##################################################################### |
2691 | 519 ## Build the "ServeFolders" plugin |
520 ##################################################################### | |
521 | |
522 if (ENABLE_PLUGINS AND BUILD_SERVE_FOLDERS) | |
523 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
524 execute_process( | |
525 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
526 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 527 ${ORTHANC_VERSION} ServeFolders ServeFolders.dll "Orthanc plugin to serve additional folders" |
528 ERROR_VARIABLE Failure | |
529 OUTPUT_FILE ${AUTOGENERATED_DIR}/ServeFolders.rc | |
530 ) | |
531 | |
532 if (Failure) | |
533 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
534 endif() | |
535 | |
536 list(APPEND SERVE_FOLDERS_RESOURCES ${AUTOGENERATED_DIR}/ServeFolders.rc) | |
537 endif() | |
538 | |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
539 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
|
540 ${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
|
541 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
|
542 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
543 |
2691 | 544 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
|
545 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ServeFolders/Plugin.cpp |
2691 | 546 ${SERVE_FOLDERS_RESOURCES} |
547 ) | |
548 | |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
549 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
|
550 |
2691 | 551 set_target_properties( |
552 ServeFolders PROPERTIES | |
553 VERSION ${ORTHANC_VERSION} | |
554 SOVERSION ${ORTHANC_VERSION} | |
555 ) | |
556 | |
557 install( | |
558 TARGETS ServeFolders | |
559 RUNTIME DESTINATION lib # Destination for Windows | |
560 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux | |
561 ) | |
562 endif() | |
563 | |
564 | |
565 | |
566 ##################################################################### | |
567 ## Build the "ModalityWorklists" plugin | |
568 ##################################################################### | |
569 | |
570 if (ENABLE_PLUGINS AND BUILD_MODALITY_WORKLISTS) | |
571 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
572 execute_process( | |
573 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
574 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 575 ${ORTHANC_VERSION} ModalityWorklists ModalityWorklists.dll "Sample Orthanc plugin to serve modality worklists" |
576 ERROR_VARIABLE Failure | |
577 OUTPUT_FILE ${AUTOGENERATED_DIR}/ModalityWorklists.rc | |
578 ) | |
579 | |
580 if (Failure) | |
581 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
582 endif() | |
583 | |
584 list(APPEND MODALITY_WORKLISTS_RESOURCES ${AUTOGENERATED_DIR}/ModalityWorklists.rc) | |
585 endif() | |
586 | |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
587 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
|
588 ${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
|
589 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
|
590 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
591 |
2691 | 592 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
|
593 ${CMAKE_SOURCE_DIR}/Plugins/Samples/ModalityWorklists/Plugin.cpp |
2691 | 594 ${MODALITY_WORKLISTS_RESOURCES} |
595 ) | |
596 | |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
597 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
|
598 |
2691 | 599 set_target_properties( |
600 ModalityWorklists PROPERTIES | |
601 VERSION ${ORTHANC_VERSION} | |
602 SOVERSION ${ORTHANC_VERSION} | |
603 ) | |
604 | |
605 install( | |
606 TARGETS ModalityWorklists | |
607 RUNTIME DESTINATION lib # Destination for Windows | |
608 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux | |
609 ) | |
610 endif() | |
611 | |
612 | |
613 | |
614 ##################################################################### | |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
615 ## Build the "ConnectivityChecks" plugin |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
616 ##################################################################### |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
617 |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
618 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
|
619 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
|
620 execute_process( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
621 COMMAND |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
622 ${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
|
623 ${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
|
624 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
|
625 OUTPUT_FILE ${AUTOGENERATED_DIR}/ConnectivityChecks.rc |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
626 ) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
627 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
628 if (Failure) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
629 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
|
630 endif() |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
631 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
632 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
|
633 endif() |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
634 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
635 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
|
636 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
637 EmbedResources( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
638 --target=ConnectivityChecksResources |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
639 --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
|
640 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
|
641 LIBRARIES ${CONNECTIVITY_CHECKS_JAVASCRIPT_DIR} |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
642 ) |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
643 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
644 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
|
645 ${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
|
646 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
|
647 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
648 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
649 # 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
|
650 # 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
|
651 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
|
652 ${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
|
653 ${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
|
654 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
655 ${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
|
656 ${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
|
657 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
658 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
659 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
|
660 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
661 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
|
662 ConnectivityChecks PROPERTIES |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
663 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
|
664 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
|
665 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
666 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
667 install( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
668 TARGETS ConnectivityChecks |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
669 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
|
670 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
|
671 ) |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
672 endif() |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
673 |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
674 |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
675 ##################################################################### |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
676 ## Build the "DelayedDeletion" plugin |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
677 ##################################################################### |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
678 |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
679 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
|
680 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
|
681 execute_process( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
682 COMMAND |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
683 ${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
|
684 ${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
|
685 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
|
686 OUTPUT_FILE ${AUTOGENERATED_DIR}/DelayedDeletion.rc |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
687 ) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
688 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
689 if (Failure) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
690 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
|
691 endif() |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
692 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
693 list(APPEND DELAYED_DELETION_RESOURCES ${AUTOGENERATED_DIR}/DelayedDeletion.rc) |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
694 endif() |
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
695 |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
696 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
|
697 ${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
|
698 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
|
699 ) |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
700 |
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
701 # 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
|
702 # 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
|
703 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
|
704 ${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
|
705 ${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
|
706 |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
707 ${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
|
708 ${DELAYED_DELETION_RESOURCES} |
5024
c2ebc47f4f18
wip: adding DelayedDeletion plugin
Alain Mazy <am@osimis.io>
parents:
4981
diff
changeset
|
709 ) |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
710 |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
711 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
|
712 |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
713 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
|
714 DelayedDeletion PROPERTIES |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
715 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
|
716 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
|
717 ) |
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 install( |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
720 TARGETS DelayedDeletion |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
721 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
|
722 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
|
723 ) |
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 |
3622
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
726 |
8afc14fab01f
New sample plugin: ConnectivityChecks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3353
diff
changeset
|
727 ##################################################################### |
4979
f316413027fd
renamed DbOptizer into Housekeeper + add Scheduler & triggers
Alain Mazy <am@osimis.io>
parents:
4971
diff
changeset
|
728 ## Build the "Housekeeper" plugin |
4961 | 729 ##################################################################### |
730 | |
4981 | 731 if (ENABLE_PLUGINS AND BUILD_HOUSEKEEPER) |
732 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
733 execute_process( | |
734 COMMAND | |
735 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py | |
736 ${ORTHANC_VERSION} Housekeeper Housekeeper.dll "Sample Orthanc plugin to optimize/clean the DB/Storage" | |
737 ERROR_VARIABLE Failure | |
738 OUTPUT_FILE ${AUTOGENERATED_DIR}/Housekeeper.rc | |
739 ) | |
740 | |
741 if (Failure) | |
742 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
743 endif() | |
744 | |
745 list(APPEND HOUSEKEEPER_RESOURCES ${AUTOGENERATED_DIR}/Housekeeper.rc) | |
746 endif() | |
747 | |
5257
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
748 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
|
749 ${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
|
750 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
|
751 ) |
0b183bb77c83
Avoid the use of "externalproject_add()" to build the sample plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5207
diff
changeset
|
752 |
4981 | 753 add_library(Housekeeper SHARED |
754 ${CMAKE_SOURCE_DIR}/Plugins/Samples/Housekeeper/Plugin.cpp | |
755 ${HOUSEKEEPER_RESOURCES} | |
756 ) | |
757 | |
5263
ae3f29be5ca5
fix compatibility with visual studio precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5262
diff
changeset
|
758 target_link_libraries(Housekeeper PluginsDependencies) |
4981 | 759 |
760 set_target_properties( | |
761 Housekeeper PROPERTIES | |
762 VERSION ${ORTHANC_VERSION} | |
763 SOVERSION ${ORTHANC_VERSION} | |
764 ) | |
765 | |
766 install( | |
767 TARGETS Housekeeper | |
768 RUNTIME DESTINATION lib # Destination for Windows | |
769 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux | |
770 ) | |
4961 | 771 endif() |
772 | |
773 | |
774 ##################################################################### | |
5273
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
775 ## 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
|
776 ##################################################################### |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
777 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
778 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
|
779 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
|
780 execute_process( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
781 COMMAND |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
782 ${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
|
783 ${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
|
784 ERROR_VARIABLE Failure |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
785 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
|
786 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
787 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
788 if (Failure) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
789 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
|
790 endif() |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
791 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
792 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
|
793 endif() |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
794 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
795 EmbedResources( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
796 --target=MultitenantDicomResources |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
797 --namespace=Orthanc.FrameworkResources |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
798 --framework-path=${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
799 ${DCMTK_DICTIONARIES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
800 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
801 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
802 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
|
803 ${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
|
804 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
|
805 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
806 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
807 # 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
|
808 # 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
|
809 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
|
810 ${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
|
811 ${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
|
812 ${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
|
813 ${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
|
814 ${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
|
815 ${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
|
816 ${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
|
817 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
818 ${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
|
819 ${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
|
820 ${MULTITENANT_DICOM_RESOURCES} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
821 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
822 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
823 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
|
824 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
825 set_target_properties( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
826 MultitenantDicom PROPERTIES |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
827 VERSION ${ORTHANC_VERSION} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
828 SOVERSION ${ORTHANC_VERSION} |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
829 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
830 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
831 install( |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
832 TARGETS MultitenantDicom |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
833 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
|
834 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
|
835 ) |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
836 endif() |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
837 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
838 |
7cb1b851f5c8
Added a sample plugin bringing multitenant DICOM support through labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5268
diff
changeset
|
839 ##################################################################### |
2691 | 840 ## Build the companion tool to recover files compressed using Orthanc |
841 ##################################################################### | |
842 | |
843 if (BUILD_RECOVER_COMPRESSED_FILE) | |
844 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
|
845 ${CMAKE_SOURCE_DIR}/Resources/Samples/Tools/RecoverCompressedFile.cpp |
2691 | 846 ) |
847 | |
848 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
849 execute_process( | |
850 COMMAND | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
851 ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py |
2691 | 852 ${ORTHANC_VERSION} OrthancRecoverCompressedFile OrthancRecoverCompressedFile.exe |
853 "Lightweight, RESTful DICOM server for medical imaging" | |
854 ERROR_VARIABLE Failure | |
855 OUTPUT_FILE ${AUTOGENERATED_DIR}/OrthancRecoverCompressedFile.rc | |
856 ) | |
857 | |
858 if (Failure) | |
859 message(FATAL_ERROR "Error while computing the version information: ${Failure}") | |
860 endif() | |
861 | |
862 list(APPEND RECOVER_COMPRESSED_SOURCES | |
863 ${AUTOGENERATED_DIR}/OrthancRecoverCompressedFile.rc | |
864 ) | |
865 endif() | |
866 | |
867 add_executable(OrthancRecoverCompressedFile ${RECOVER_COMPRESSED_SOURCES}) | |
868 | |
869 target_link_libraries(OrthancRecoverCompressedFile CoreLibrary) | |
870 | |
871 install( | |
872 TARGETS OrthancRecoverCompressedFile | |
873 RUNTIME DESTINATION bin | |
874 ) | |
875 endif() | |
876 | |
877 | |
878 | |
879 ##################################################################### | |
880 ## Generate the documentation if Doxygen is present | |
881 ##################################################################### | |
882 | |
883 find_package(Doxygen) | |
884 if (DOXYGEN_FOUND) | |
885 configure_file( | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
886 ${CMAKE_SOURCE_DIR}/Resources/Orthanc.doxygen |
2691 | 887 ${CMAKE_CURRENT_BINARY_DIR}/Orthanc.doxygen |
888 @ONLY) | |
889 | |
890 configure_file( | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
891 ${CMAKE_SOURCE_DIR}/Resources/OrthancPlugin.doxygen |
2691 | 892 ${CMAKE_CURRENT_BINARY_DIR}/OrthancPlugin.doxygen |
893 @ONLY) | |
894 | |
895 add_custom_target(doc | |
896 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Orthanc.doxygen | |
897 COMMENT "Generating internal documentation with Doxygen" VERBATIM | |
898 ) | |
899 | |
900 add_custom_command(TARGET Orthanc | |
901 POST_BUILD | |
902 COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancPlugin.doxygen | |
903 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} | |
904 COMMENT "Generating plugin documentation with Doxygen" VERBATIM | |
905 ) | |
906 | |
907 install( | |
908 DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/OrthancPluginDocumentation/doc/ | |
909 DESTINATION share/doc/orthanc/OrthancPlugin | |
910 ) | |
911 else() | |
912 message("Doxygen not found. The documentation will not be built.") | |
913 endif() | |
914 | |
915 | |
916 | |
917 ##################################################################### | |
918 ## Install the plugin SDK | |
919 ##################################################################### | |
920 | |
921 if (ENABLE_PLUGINS) | |
922 install( | |
923 FILES | |
5189
50c4a18caa85
installing OrthancDatabasePlugin.proto
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5188
diff
changeset
|
924 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancCPlugin.h |
50c4a18caa85
installing OrthancDatabasePlugin.proto
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5188
diff
changeset
|
925 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancCDatabasePlugin.h |
50c4a18caa85
installing OrthancDatabasePlugin.proto
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5188
diff
changeset
|
926 ${CMAKE_SOURCE_DIR}/Plugins/Include/orthanc/OrthancDatabasePlugin.proto |
2691 | 927 DESTINATION include/orthanc |
928 ) | |
929 endif() | |
930 | |
931 | |
932 | |
933 ##################################################################### | |
934 ## Prepare the "uninstall" target | |
935 ## http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F | |
936 ##################################################################### | |
937 | |
938 configure_file( | |
4091
19a2f1d2b816
moved CMakeLists.txt for the server to the OrthancServer folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4063
diff
changeset
|
939 "${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/CMake/Uninstall.cmake.in" |
2691 | 940 "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" |
941 IMMEDIATE @ONLY) | |
942 | |
943 add_custom_target(uninstall | |
944 COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) |