Mercurial > hg > orthanc
annotate CMakeLists.txt @ 822:7ce875531950
fix mainline version
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 08 May 2014 17:16:10 +0200 |
parents | 992be7e1736a |
children | da4c30a8bcdd a811bdf8b8eb |
rev | line source |
---|---|
12 | 1 cmake_minimum_required(VERSION 2.8) |
2 | |
57 | 3 project(Orthanc) |
134 | 4 |
135 | 5 # Version of the build, should always be "mainline" except in release branches |
822
7ce875531950
fix mainline version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
819
diff
changeset
|
6 set(ORTHANC_VERSION "mainline") |
135 | 7 |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
8 |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
9 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
10 ## CMake parameters tunable at the command line |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
11 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
12 |
134 | 13 # Parameters of the build |
634 | 14 SET(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)") |
447
e0c398d4721e
standalone build is the default
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
423
diff
changeset
|
15 SET(STANDALONE_BUILD ON CACHE BOOL "Standalone build (all the resources are embedded, necessary for releases)") |
134 | 16 SET(ENABLE_SSL ON CACHE BOOL "Include support for SSL") |
543 | 17 SET(BUILD_CLIENT_LIBRARY ON CACHE BOOL "Build the client library") |
734
8c29c1056d45
automatic search of the dicom dictionaries in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
726
diff
changeset
|
18 SET(DCMTK_DICTIONARY_DIR "" CACHE PATH "Directory containing the DCMTK dictionaries \"dicom.dic\" and \"private.dic\" (only when using system version of DCMTK)") |
634 | 19 SET(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages") |
707
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
20 SET(UNIT_TESTS_WITH_HTTP_CONNEXIONS ON CACHE BOOL "Allow unit tests to make HTTP requests") |
135 | 21 |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
22 # Advanced parameters to fine-tune linking against system libraries |
634 | 23 SET(USE_SYSTEM_JSONCPP ON CACHE BOOL "Use the system version of JsonCpp") |
24 SET(USE_SYSTEM_GOOGLE_LOG ON CACHE BOOL "Use the system version of Google Log") | |
25 SET(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test") | |
26 SET(USE_SYSTEM_SQLITE ON CACHE BOOL "Use the system version of SQLite") | |
27 SET(USE_SYSTEM_MONGOOSE ON CACHE BOOL "Use the system version of Mongoose") | |
28 SET(USE_SYSTEM_LUA ON CACHE BOOL "Use the system version of Lua") | |
626
b8322fe3bdba
possibility to disable the use of system dcmtk or boost
jodogne
parents:
619
diff
changeset
|
29 SET(USE_SYSTEM_DCMTK ON CACHE BOOL "Use the system version of DCMTK") |
b8322fe3bdba
possibility to disable the use of system dcmtk or boost
jodogne
parents:
619
diff
changeset
|
30 SET(USE_SYSTEM_BOOST ON CACHE BOOL "Use the system version of Boost") |
634 | 31 SET(USE_SYSTEM_LIBPNG ON CACHE BOOL "Use the system version of LibPng") |
32 SET(USE_SYSTEM_CURL ON CACHE BOOL "Use the system version of LibCurl") | |
672
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
33 SET(USE_SYSTEM_OPENSSL ON CACHE BOOL "Use the system version of OpenSSL") |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
34 SET(USE_SYSTEM_ZLIB ON CACHE BOOL "Use the system version of ZLib") |
134 | 35 |
634 | 36 # Distribution-specific settings |
638 | 37 SET(USE_GTEST_DEBIAN_SOURCE_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)") |
38 mark_as_advanced(USE_GTEST_DEBIAN_SOURCE_PACKAGE) | |
134 | 39 |
40 # Some basic inclusions | |
12 | 41 include(CheckIncludeFiles) |
101 | 42 include(CheckIncludeFileCXX) |
389
9aa8ecbeeeb9
dynamically linking against Mongoose
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
383
diff
changeset
|
43 include(CheckLibraryExists) |
134 | 44 include(${CMAKE_SOURCE_DIR}/Resources/CMake/AutoGeneratedCode.cmake) |
45 include(${CMAKE_SOURCE_DIR}/Resources/CMake/DownloadPackage.cmake) | |
46 include(${CMAKE_SOURCE_DIR}/Resources/CMake/Compiler.cmake) | |
133 | 47 |
506
6e4bd06c17c5
the wrapper is working
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
496
diff
changeset
|
48 set(ORTHANC_ROOT ${CMAKE_SOURCE_DIR}) |
6e4bd06c17c5
the wrapper is working
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
496
diff
changeset
|
49 |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
50 |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
51 |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
52 |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
53 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
54 ## Inclusion of third-party dependencies |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
55 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
56 |
134 | 57 # Configuration of the standalone builds |
569 | 58 if (CMAKE_CROSSCOMPILING) |
134 | 59 # Cross-compilation implies the standalone build |
19 | 60 SET(STANDALONE_BUILD ON) |
61 endif() | |
62 | |
134 | 63 # Prepare the third-party dependencies |
22 | 64 SET(THIRD_PARTY_SOURCES |
65 ${CMAKE_SOURCE_DIR}/Resources/md5/md5.c | |
24 | 66 ${CMAKE_SOURCE_DIR}/Resources/base64/base64.cpp |
22 | 67 ) |
26 | 68 |
102
7593b57dc1bf
switch to google log
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
69 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleLogConfiguration.cmake) |
672
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
70 include(${CMAKE_SOURCE_DIR}/Resources/CMake/BoostConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
71 include(${CMAKE_SOURCE_DIR}/Resources/CMake/DcmtkConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
72 include(${CMAKE_SOURCE_DIR}/Resources/CMake/MongooseConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
73 include(${CMAKE_SOURCE_DIR}/Resources/CMake/ZlibConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
74 include(${CMAKE_SOURCE_DIR}/Resources/CMake/SQLiteConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
75 include(${CMAKE_SOURCE_DIR}/Resources/CMake/JsonCppConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
76 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LibPngConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
77 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LuaConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
78 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LibCurlConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
79 |
102
7593b57dc1bf
switch to google log
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
80 |
29
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
26
diff
changeset
|
81 if (${ENABLE_SSL}) |
57 | 82 add_definitions(-DORTHANC_SSL_ENABLED=1) |
29
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
26
diff
changeset
|
83 include(${CMAKE_SOURCE_DIR}/Resources/CMake/OpenSslConfiguration.cmake) |
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
26
diff
changeset
|
84 else() |
57 | 85 add_definitions(-DORTHANC_SSL_ENABLED=0) |
29
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
26
diff
changeset
|
86 endif() |
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
26
diff
changeset
|
87 |
12 | 88 |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
89 |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
90 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
91 ## Autogeneration of files |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
92 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
93 |
291
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
94 # Prepare the embedded files |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
95 set(EMBEDDED_FILES |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
96 PREPARE_DATABASE ${CMAKE_CURRENT_SOURCE_DIR}/OrthancServer/PrepareDatabase.sql |
694
72dc919a028c
upgrade database from v3 to v4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
693
diff
changeset
|
97 UPGRADE_DATABASE_3_TO_4 ${CMAKE_CURRENT_SOURCE_DIR}/OrthancServer/Upgrade3To4.sql |
291
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
98 CONFIGURATION_SAMPLE ${CMAKE_CURRENT_SOURCE_DIR}/Resources/Configuration.json |
384 | 99 LUA_TOOLBOX ${CMAKE_CURRENT_SOURCE_DIR}/Resources/Toolbox.lua |
291
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
100 ) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
101 |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
102 if (${STANDALONE_BUILD}) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
103 # We embed all the resources in the binaries for standalone builds |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
104 add_definitions(-DORTHANC_STANDALONE=1) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
105 EmbedResources( |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
106 ${EMBEDDED_FILES} |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
107 ORTHANC_EXPLORER ${CMAKE_CURRENT_SOURCE_DIR}/OrthancExplorer |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
108 ${DCMTK_DICTIONARIES} |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
109 ) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
110 else() |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
111 add_definitions( |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
112 -DORTHANC_STANDALONE=0 |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
113 -DORTHANC_PATH=\"${CMAKE_SOURCE_DIR}\" |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
114 ) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
115 EmbedResources( |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
116 ${EMBEDDED_FILES} |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
117 ) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
118 endif() |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
119 |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
120 |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
121 |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
122 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
123 ## Build the core of Orthanc |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
124 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
125 |
600 | 126 add_definitions( |
127 -DORTHANC_VERSION="${ORTHANC_VERSION}" | |
128 ) | |
129 | |
520 | 130 list(LENGTH OPENSSL_SOURCES OPENSSL_SOURCES_LENGTH) |
131 if (${OPENSSL_SOURCES_LENGTH} GREATER 0) | |
132 add_library(OpenSSL STATIC ${OPENSSL_SOURCES}) | |
133 endif() | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
134 |
12 | 135 add_library(CoreLibrary |
136 STATIC | |
137 ${AUTOGENERATED_SOURCES} | |
138 ${THIRD_PARTY_SOURCES} | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
139 ${CURL_SOURCES} |
12 | 140 |
284
06aa7b7b6723
implementation of a single-threaded cache mechanism
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
283
diff
changeset
|
141 Core/Cache/MemoryCache.cpp |
12 | 142 Core/ChunkedBuffer.cpp |
143 Core/Compression/BufferCompressor.cpp | |
144 Core/Compression/ZlibCompressor.cpp | |
81 | 145 Core/Compression/ZipWriter.cpp |
247
c9b3ba0fd140
path management in zip files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
246
diff
changeset
|
146 Core/Compression/HierarchicalZipWriter.cpp |
57 | 147 Core/OrthancException.cpp |
12 | 148 Core/DicomFormat/DicomArray.cpp |
149 Core/DicomFormat/DicomMap.cpp | |
150 Core/DicomFormat/DicomTag.cpp | |
79 | 151 Core/DicomFormat/DicomIntegerPixelAccessor.cpp |
178 | 152 Core/DicomFormat/DicomInstanceHasher.cpp |
477 | 153 Core/Enumerations.cpp |
234 | 154 Core/FileStorage/FileStorage.cpp |
221
e7432706b354
accessors to storage
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
213
diff
changeset
|
155 Core/FileStorage/StorageAccessor.cpp |
e7432706b354
accessors to storage
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
213
diff
changeset
|
156 Core/FileStorage/CompressedFileStorageAccessor.cpp |
232
5368bbe813cf
refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
229
diff
changeset
|
157 Core/FileStorage/FileStorageAccessor.cpp |
476 | 158 Core/HttpClient.cpp |
12 | 159 Core/HttpServer/EmbeddedResourceHttpHandler.cpp |
160 Core/HttpServer/FilesystemHttpHandler.cpp | |
161 Core/HttpServer/HttpHandler.cpp | |
162 Core/HttpServer/HttpOutput.cpp | |
163 Core/HttpServer/MongooseServer.cpp | |
208 | 164 Core/HttpServer/HttpFileSender.cpp |
165 Core/HttpServer/FilesystemHttpSender.cpp | |
209
9960642f0f45
abstraction of RestApi
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
208
diff
changeset
|
166 Core/RestApi/RestApiPath.cpp |
9960642f0f45
abstraction of RestApi
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
208
diff
changeset
|
167 Core/RestApi/RestApiOutput.cpp |
9960642f0f45
abstraction of RestApi
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
208
diff
changeset
|
168 Core/RestApi/RestApi.cpp |
760 | 169 Core/MultiThreading/ArrayFilledByThreads.cpp |
12 | 170 Core/MultiThreading/BagOfRunnablesBySteps.cpp |
760 | 171 Core/MultiThreading/Mutex.cpp |
172 Core/MultiThreading/ReaderWriterLock.cpp | |
450 | 173 Core/MultiThreading/SharedMessageQueue.cpp |
458
84966299c8f8
ThreadedCommandProcessor
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
455
diff
changeset
|
174 Core/MultiThreading/ThreadedCommandProcessor.cpp |
799 | 175 Core/ImageFormats/ImageAccessor.cpp |
800
ecedd89055db
generation of DICOM images from PNG files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
799
diff
changeset
|
176 Core/ImageFormats/ImageBuffer.cpp |
799 | 177 Core/ImageFormats/PngReader.cpp |
178 Core/ImageFormats/PngWriter.cpp | |
12 | 179 Core/SQLite/Connection.cpp |
180 Core/SQLite/FunctionContext.cpp | |
181 Core/SQLite/Statement.cpp | |
182 Core/SQLite/StatementId.cpp | |
183 Core/SQLite/StatementReference.cpp | |
184 Core/SQLite/Transaction.cpp | |
185 Core/Toolbox.cpp | |
186 Core/Uuid.cpp | |
386 | 187 Core/Lua/LuaContext.cpp |
188 Core/Lua/LuaFunctionCall.cpp | |
479
0cd977e94479
initial commit of the c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
477
diff
changeset
|
189 |
0cd977e94479
initial commit of the c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
477
diff
changeset
|
190 OrthancCppClient/OrthancConnection.cpp |
0cd977e94479
initial commit of the c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
477
diff
changeset
|
191 OrthancCppClient/Study.cpp |
0cd977e94479
initial commit of the c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
477
diff
changeset
|
192 OrthancCppClient/Series.cpp |
0cd977e94479
initial commit of the c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
477
diff
changeset
|
193 OrthancCppClient/Instance.cpp |
0cd977e94479
initial commit of the c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
477
diff
changeset
|
194 OrthancCppClient/Patient.cpp |
12 | 195 ) |
196 | |
135 | 197 |
546 | 198 ##################################################################### |
199 ## Build the Orthanc server | |
200 ##################################################################### | |
12 | 201 |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
202 add_library(ServerLibrary |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
203 STATIC |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
204 ${DCMTK_SOURCES} |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
205 OrthancServer/DicomProtocol/DicomFindAnswers.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
206 OrthancServer/DicomProtocol/DicomServer.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
207 OrthancServer/DicomProtocol/DicomUserConnection.cpp |
806 | 208 OrthancServer/DicomProtocol/RemoteModalityParameters.cpp |
769
3f946e5c3802
ReusableDicomUserConnection
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
760
diff
changeset
|
209 OrthancServer/DicomProtocol/ReusableDicomUserConnection.cpp |
786 | 210 OrthancServer/DicomModification.cpp |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
211 OrthancServer/FromDcmtkBridge.cpp |
790 | 212 OrthancServer/ParsedDicomFile.cpp |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
213 OrthancServer/Internals/CommandDispatcher.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
214 OrthancServer/Internals/FindScp.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
215 OrthancServer/Internals/MoveScp.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
216 OrthancServer/Internals/StoreScp.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
217 OrthancServer/OrthancInitialization.cpp |
808
2d9a000aa3a6
update/delete peers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
806
diff
changeset
|
218 OrthancServer/OrthancPeerParameters.cpp |
751
5197fd35333c
refactoring of OrthancRestApi
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
750
diff
changeset
|
219 OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp |
750 | 220 OrthancServer/OrthancRestApi/OrthancRestApi.cpp |
751
5197fd35333c
refactoring of OrthancRestApi
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
750
diff
changeset
|
221 OrthancServer/OrthancRestApi/OrthancRestArchive.cpp |
5197fd35333c
refactoring of OrthancRestApi
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
750
diff
changeset
|
222 OrthancServer/OrthancRestApi/OrthancRestChanges.cpp |
5197fd35333c
refactoring of OrthancRestApi
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
750
diff
changeset
|
223 OrthancServer/OrthancRestApi/OrthancRestModalities.cpp |
5197fd35333c
refactoring of OrthancRestApi
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
750
diff
changeset
|
224 OrthancServer/OrthancRestApi/OrthancRestResources.cpp |
5197fd35333c
refactoring of OrthancRestApi
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
750
diff
changeset
|
225 OrthancServer/OrthancRestApi/OrthancRestSystem.cpp |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
226 OrthancServer/ServerIndex.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
227 OrthancServer/ToDcmtkBridge.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
228 OrthancServer/DatabaseWrapper.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
229 OrthancServer/ServerContext.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
230 OrthancServer/ServerEnumerations.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
231 OrthancServer/ServerToolbox.cpp |
565
c931ac02db82
refactoring of find class
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
549
diff
changeset
|
232 OrthancServer/OrthancFindRequestHandler.cpp |
619 | 233 OrthancServer/OrthancMoveRequestHandler.cpp |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
234 ) |
12 | 235 |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
236 # Ensure autogenerated code is built before building ServerLibrary |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
237 add_dependencies(ServerLibrary CoreLibrary) |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
238 |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
239 add_executable(Orthanc |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
240 OrthancServer/main.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
241 ) |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
242 |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
243 target_link_libraries(Orthanc ServerLibrary CoreLibrary) |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
244 |
546 | 245 if (${OPENSSL_SOURCES_LENGTH} GREATER 0) |
246 target_link_libraries(Orthanc OpenSSL) | |
247 endif() | |
248 | |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
249 install( |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
250 TARGETS Orthanc |
649
7446a8ae2fad
fix installation path
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
638
diff
changeset
|
251 RUNTIME DESTINATION sbin |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
252 ) |
261
9e24c33c3361
possibility to compile just the CoreLibrary
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
259
diff
changeset
|
253 |
546 | 254 |
255 | |
256 ##################################################################### | |
635 | 257 ## Build the unit tests |
546 | 258 ##################################################################### |
259 | |
707
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
260 if (UNIT_TESTS_WITH_HTTP_CONNEXIONS) |
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
261 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=1) |
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
262 else() |
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
263 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=0) |
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
264 endif() |
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
265 |
635 | 266 add_definitions(-DORTHANC_BUILD_UNIT_TESTS=1) |
634 | 267 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleTestConfiguration.cmake) |
268 add_executable(UnitTests | |
269 ${GTEST_SOURCES} | |
711
8f62e8d5a384
test main dicom tags
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
707
diff
changeset
|
270 UnitTestsSources/DicomMap.cpp |
634 | 271 UnitTestsSources/FileStorage.cpp |
782 | 272 UnitTestsSources/FromDcmtk.cpp |
634 | 273 UnitTestsSources/MemoryCache.cpp |
274 UnitTestsSources/Png.cpp | |
275 UnitTestsSources/RestApi.cpp | |
276 UnitTestsSources/SQLite.cpp | |
277 UnitTestsSources/SQLiteChromium.cpp | |
726 | 278 UnitTestsSources/ServerIndexTests.cpp |
634 | 279 UnitTestsSources/Versions.cpp |
280 UnitTestsSources/Zip.cpp | |
281 UnitTestsSources/Lua.cpp | |
723
0da078f3affc
multithreading tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
721
diff
changeset
|
282 UnitTestsSources/MultiThreading.cpp |
726 | 283 UnitTestsSources/UnitTestsMain.cpp |
634 | 284 ) |
285 target_link_libraries(UnitTests ServerLibrary CoreLibrary) | |
520 | 286 |
634 | 287 if (${OPENSSL_SOURCES_LENGTH} GREATER 0) |
288 target_link_libraries(UnitTests OpenSSL) | |
120
5af0a4345d06
disabling of unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
102
diff
changeset
|
289 endif() |
5af0a4345d06
disabling of unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
102
diff
changeset
|
290 |
12 | 291 |
546 | 292 |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
293 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
294 ## Create the standalone DLL containing the Orthanc Client API |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
295 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
296 |
543 | 297 if (BUILD_CLIENT_LIBRARY) |
576 | 298 include_directories(${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/Laaw) |
543 | 299 |
300 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
569 | 301 if (CMAKE_CROSSCOMPILING) |
302 # Remove the default "lib" prefix from "libOrthancClient.dll" if cross-compiling | |
303 set(CMAKE_SHARED_LIBRARY_PREFIX "") | |
304 | |
568 | 305 if (${CMAKE_SIZEOF_VOID_P} EQUAL 4) |
576 | 306 set(ORTHANC_CPP_CLIENT_AUX ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/AUTOGENERATED/Windows32.def) |
568 | 307 elseif (${CMAKE_SIZEOF_VOID_P} EQUAL 8) |
576 | 308 set(ORTHANC_CPP_CLIENT_AUX ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/AUTOGENERATED/Windows64.def) |
568 | 309 else() |
310 message(FATAL_ERROR "Support your platform here") | |
311 endif() | |
543 | 312 else() |
570 | 313 # Nothing to do if using Visual Studio |
543 | 314 endif() |
570 | 315 |
571 | 316 if (${CMAKE_SIZEOF_VOID_P} EQUAL 4) |
317 set(CMAKE_SHARED_LIBRARY_SUFFIX "_Windows32.dll") | |
576 | 318 list(APPEND ORTHANC_CPP_CLIENT_AUX ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/AUTOGENERATED/Windows32.rc) |
571 | 319 elseif (${CMAKE_SIZEOF_VOID_P} EQUAL 8) |
320 set(CMAKE_SHARED_LIBRARY_SUFFIX "_Windows64.dll") | |
576 | 321 list(APPEND ORTHANC_CPP_CLIENT_AUX ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/AUTOGENERATED/Windows64.rc) |
571 | 322 else() |
323 message(FATAL_ERROR "Support your platform here") | |
324 endif() | |
325 | |
543 | 326 else() |
327 set(ORTHANC_CPP_CLIENT_AUX ${OPENSSL_SOURCES}) | |
328 endif() | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
329 |
543 | 330 add_library(OrthancClient SHARED |
331 ${ORTHANC_ROOT}/Core/OrthancException.cpp | |
332 ${ORTHANC_ROOT}/Core/Enumerations.cpp | |
333 ${ORTHANC_ROOT}/Core/Toolbox.cpp | |
334 ${ORTHANC_ROOT}/Core/HttpClient.cpp | |
335 ${ORTHANC_ROOT}/Core/MultiThreading/ArrayFilledByThreads.cpp | |
336 ${ORTHANC_ROOT}/Core/MultiThreading/ThreadedCommandProcessor.cpp | |
337 ${ORTHANC_ROOT}/Core/MultiThreading/SharedMessageQueue.cpp | |
799 | 338 ${ORTHANC_ROOT}/Core/ImageFormats/ImageAccessor.cpp |
800
ecedd89055db
generation of DICOM images from PNG files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
799
diff
changeset
|
339 ${ORTHANC_ROOT}/Core/ImageFormats/ImageBuffer.cpp |
799 | 340 ${ORTHANC_ROOT}/Core/ImageFormats/PngReader.cpp |
543 | 341 ${ORTHANC_ROOT}/OrthancCppClient/OrthancConnection.cpp |
342 ${ORTHANC_ROOT}/OrthancCppClient/Series.cpp | |
343 ${ORTHANC_ROOT}/OrthancCppClient/Study.cpp | |
344 ${ORTHANC_ROOT}/OrthancCppClient/Instance.cpp | |
345 ${ORTHANC_ROOT}/OrthancCppClient/Patient.cpp | |
576 | 346 ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/SharedLibrary.cpp |
543 | 347 ${ORTHANC_ROOT}/Resources/md5/md5.c |
348 ${ORTHANC_ROOT}/Resources/base64/base64.cpp | |
349 ${ORTHANC_CPP_CLIENT_AUX} | |
350 ${THIRD_PARTY_SOURCES} | |
351 ${CURL_SOURCES} | |
352 ) | |
353 | |
354 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") | |
355 set_target_properties(OrthancClient | |
576 | 356 PROPERTIES LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed -Wl,--version-script=${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/Laaw/VersionScript.map" |
543 | 357 ) |
358 target_link_libraries(OrthancClient pthread) | |
569 | 359 |
543 | 360 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
570 | 361 target_link_libraries(OrthancClient OpenSSL ws2_32) |
362 | |
569 | 363 if (CMAKE_CROSSCOMPILING) |
543 | 364 set_target_properties(OrthancClient |
365 PROPERTIES LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--allow-multiple-definition -static-libgcc -static-libstdc++" | |
366 ) | |
367 endif() | |
569 | 368 |
522 | 369 else() |
370 message(FATAL_ERROR "Support your platform here") | |
371 endif() | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
372 |
600 | 373 |
601
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
374 # Set the version of the "Orthanc Client" shared library |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
375 file(STRINGS |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
376 ${CMAKE_SOURCE_DIR}/OrthancCppClient/SharedLibrary/Product.json |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
377 ORTHANC_CLIENT_VERSION_TMP |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
378 REGEX "^[ \t]*\"Version\"[ \t]*") |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
379 |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
380 string(REGEX REPLACE "^.*\"([0-9]+)\\.([0-9]+)\\.([0-9]+)\"" "\\1.\\2" |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
381 ORTHANC_CLIENT_VERSION ${ORTHANC_CLIENT_VERSION_TMP}) |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
382 |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
383 message("Setting the version of the library to ${ORTHANC_CLIENT_VERSION}") |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
384 |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
385 set_target_properties(OrthancClient PROPERTIES |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
386 VERSION ${ORTHANC_CLIENT_VERSION} |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
387 SOVERSION ${ORTHANC_CLIENT_VERSION}) |
600 | 388 |
389 | |
543 | 390 install( |
391 TARGETS OrthancClient | |
571 | 392 RUNTIME DESTINATION lib # Destination for Windows |
393 LIBRARY DESTINATION lib # Destination for Linux | |
522 | 394 ) |
525 | 395 |
543 | 396 install( |
576 | 397 FILES ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/AUTOGENERATED/OrthancCppClient.h |
543 | 398 DESTINATION include/orthanc |
399 ) | |
522 | 400 endif() |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
401 |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
402 |
600 | 403 |
404 | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
405 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
406 ## Generate the documentation if Doxygen is present |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
407 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
408 |
12 | 409 find_package(Doxygen) |
410 if (DOXYGEN_FOUND) | |
411 configure_file( | |
57 | 412 ${CMAKE_SOURCE_DIR}/Resources/Orthanc.doxygen |
413 ${CMAKE_CURRENT_BINARY_DIR}/Orthanc.doxygen | |
12 | 414 @ONLY) |
573 | 415 |
592 | 416 add_custom_target(doc |
417 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Orthanc.doxygen | |
12 | 418 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
595 | 419 COMMENT "Generating internal documentation with Doxygen" VERBATIM |
12 | 420 ) |
573 | 421 |
595 | 422 if (BUILD_CLIENT_LIBRARY) |
423 configure_file( | |
424 ${CMAKE_SOURCE_DIR}/Resources/OrthancClient.doxygen | |
425 ${CMAKE_CURRENT_BINARY_DIR}/OrthancClient.doxygen | |
426 @ONLY) | |
427 | |
428 add_custom_command(TARGET OrthancClient | |
429 POST_BUILD | |
430 COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancClient.doxygen | |
431 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} | |
432 COMMENT "Generating client documentation with Doxygen" VERBATIM | |
433 ) | |
434 | |
435 install( | |
436 DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/OrthancClientDocumentation/doc/ | |
437 DESTINATION share/doc/orthanc/OrthancClient | |
438 ) | |
439 endif() | |
594 | 440 |
149 | 441 else() |
442 message("Doxygen not found. The documentation will not be built.") | |
134 | 443 endif() |
584
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
444 |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
445 |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
446 ##################################################################### |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
447 ## Prepare the "uninstall" target |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
448 ## http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
449 ##################################################################### |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
450 |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
451 configure_file( |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
452 "${CMAKE_CURRENT_SOURCE_DIR}/Resources/CMake/Uninstall.cmake.in" |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
453 "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
454 IMMEDIATE @ONLY) |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
455 |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
456 add_custom_target(uninstall |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
457 COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) |