Mercurial > hg > orthanc
annotate CMakeLists.txt @ 1001:f3929718ea7e lua-scripting
autorouting primitives
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 04 Jul 2014 15:31:42 +0200 |
parents | 13e230bbd882 |
children | 1d35281d967c |
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 |
881 | 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") |
850
9ee2e7a5efaf
support of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
845
diff
changeset
|
21 SET(ENABLE_JPEG ON CACHE BOOL "Enable JPEG decompression") |
9ee2e7a5efaf
support of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
845
diff
changeset
|
22 SET(ENABLE_JPEG_LOSSLESS ON CACHE BOOL "Enable JPEG-LS (Lossless) decompression") |
135 | 23 |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
24 # Advanced parameters to fine-tune linking against system libraries |
634 | 25 SET(USE_SYSTEM_JSONCPP ON CACHE BOOL "Use the system version of JsonCpp") |
26 SET(USE_SYSTEM_GOOGLE_LOG ON CACHE BOOL "Use the system version of Google Log") | |
27 SET(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test") | |
28 SET(USE_SYSTEM_SQLITE ON CACHE BOOL "Use the system version of SQLite") | |
29 SET(USE_SYSTEM_MONGOOSE ON CACHE BOOL "Use the system version of Mongoose") | |
30 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
|
31 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
|
32 SET(USE_SYSTEM_BOOST ON CACHE BOOL "Use the system version of Boost") |
634 | 33 SET(USE_SYSTEM_LIBPNG ON CACHE BOOL "Use the system version of LibPng") |
34 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
|
35 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
|
36 SET(USE_SYSTEM_ZLIB ON CACHE BOOL "Use the system version of ZLib") |
134 | 37 |
634 | 38 # Distribution-specific settings |
638 | 39 SET(USE_GTEST_DEBIAN_SOURCE_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)") |
40 mark_as_advanced(USE_GTEST_DEBIAN_SOURCE_PACKAGE) | |
134 | 41 |
42 # Some basic inclusions | |
12 | 43 include(CheckIncludeFiles) |
101 | 44 include(CheckIncludeFileCXX) |
389
9aa8ecbeeeb9
dynamically linking against Mongoose
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
383
diff
changeset
|
45 include(CheckLibraryExists) |
134 | 46 include(${CMAKE_SOURCE_DIR}/Resources/CMake/AutoGeneratedCode.cmake) |
47 include(${CMAKE_SOURCE_DIR}/Resources/CMake/DownloadPackage.cmake) | |
48 include(${CMAKE_SOURCE_DIR}/Resources/CMake/Compiler.cmake) | |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
49 include(${CMAKE_SOURCE_DIR}/Resources/CMake/VisualStudioPrecompiledHeaders.cmake) |
133 | 50 |
506
6e4bd06c17c5
the wrapper is working
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
496
diff
changeset
|
51 set(ORTHANC_ROOT ${CMAKE_SOURCE_DIR}) |
6e4bd06c17c5
the wrapper is working
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
496
diff
changeset
|
52 |
516
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 |
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 ##################################################################### |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
57 ## List of source files |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
58 ##################################################################### |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
59 |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
60 set(ORTHANC_CORE_SOURCES |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
61 Core/Cache/MemoryCache.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
62 Core/ChunkedBuffer.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
63 Core/Compression/BufferCompressor.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
64 Core/Compression/ZlibCompressor.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
65 Core/Compression/ZipWriter.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
66 Core/Compression/HierarchicalZipWriter.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
67 Core/OrthancException.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
68 Core/DicomFormat/DicomArray.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
69 Core/DicomFormat/DicomMap.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
70 Core/DicomFormat/DicomTag.cpp |
853
839be3022203
DicomImageInformation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
850
diff
changeset
|
71 Core/DicomFormat/DicomImageInformation.cpp |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
72 Core/DicomFormat/DicomIntegerPixelAccessor.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
73 Core/DicomFormat/DicomInstanceHasher.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
74 Core/Enumerations.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
75 Core/FileStorage/FileStorage.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
76 Core/FileStorage/StorageAccessor.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
77 Core/FileStorage/CompressedFileStorageAccessor.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
78 Core/FileStorage/FileStorageAccessor.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
79 Core/HttpClient.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
80 Core/HttpServer/EmbeddedResourceHttpHandler.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
81 Core/HttpServer/FilesystemHttpHandler.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
82 Core/HttpServer/HttpHandler.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
83 Core/HttpServer/HttpOutput.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
84 Core/HttpServer/MongooseServer.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
85 Core/HttpServer/HttpFileSender.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
86 Core/HttpServer/FilesystemHttpSender.cpp |
974 | 87 Core/RestApi/RestApiCall.cpp |
88 Core/RestApi/RestApiGetCall.cpp | |
969 | 89 Core/RestApi/RestApiHierarchy.cpp |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
90 Core/RestApi/RestApiPath.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
91 Core/RestApi/RestApiOutput.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
92 Core/RestApi/RestApi.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
93 Core/MultiThreading/ArrayFilledByThreads.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
94 Core/MultiThreading/BagOfRunnablesBySteps.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
95 Core/MultiThreading/Mutex.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
96 Core/MultiThreading/ReaderWriterLock.cpp |
995
8c67382f44a7
limit number of jobs in the scheduler
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
994
diff
changeset
|
97 Core/MultiThreading/Semaphore.cpp |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
98 Core/MultiThreading/SharedMessageQueue.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
99 Core/MultiThreading/ThreadedCommandProcessor.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
100 Core/ImageFormats/ImageAccessor.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
101 Core/ImageFormats/ImageBuffer.cpp |
853
839be3022203
DicomImageInformation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
850
diff
changeset
|
102 Core/ImageFormats/ImageProcessing.cpp |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
103 Core/ImageFormats/PngReader.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
104 Core/ImageFormats/PngWriter.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
105 Core/SQLite/Connection.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
106 Core/SQLite/FunctionContext.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
107 Core/SQLite/Statement.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
108 Core/SQLite/StatementId.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
109 Core/SQLite/StatementReference.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
110 Core/SQLite/Transaction.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
111 Core/Toolbox.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
112 Core/Uuid.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
113 Core/Lua/LuaContext.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
114 Core/Lua/LuaFunctionCall.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
115 |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
116 OrthancCppClient/OrthancConnection.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
117 OrthancCppClient/Study.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
118 OrthancCppClient/Series.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
119 OrthancCppClient/Instance.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
120 OrthancCppClient/Patient.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
121 ) |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
122 |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
123 |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
124 set(ORTHANC_SERVER_SOURCES |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
125 OrthancServer/DicomProtocol/DicomFindAnswers.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
126 OrthancServer/DicomProtocol/DicomServer.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
127 OrthancServer/DicomProtocol/DicomUserConnection.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
128 OrthancServer/DicomProtocol/RemoteModalityParameters.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
129 OrthancServer/DicomProtocol/ReusableDicomUserConnection.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
130 OrthancServer/DicomModification.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
131 OrthancServer/FromDcmtkBridge.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
132 OrthancServer/ParsedDicomFile.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
133 OrthancServer/Internals/CommandDispatcher.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
134 OrthancServer/Internals/FindScp.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
135 OrthancServer/Internals/MoveScp.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
136 OrthancServer/Internals/StoreScp.cpp |
845 | 137 OrthancServer/Internals/DicomImageDecoder.cpp |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
138 OrthancServer/OrthancInitialization.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
139 OrthancServer/OrthancPeerParameters.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
140 OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
141 OrthancServer/OrthancRestApi/OrthancRestApi.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
142 OrthancServer/OrthancRestApi/OrthancRestArchive.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
143 OrthancServer/OrthancRestApi/OrthancRestChanges.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
144 OrthancServer/OrthancRestApi/OrthancRestModalities.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
145 OrthancServer/OrthancRestApi/OrthancRestResources.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
146 OrthancServer/OrthancRestApi/OrthancRestSystem.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
147 OrthancServer/ServerIndex.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
148 OrthancServer/ToDcmtkBridge.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
149 OrthancServer/DatabaseWrapper.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
150 OrthancServer/ServerContext.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
151 OrthancServer/ServerEnumerations.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
152 OrthancServer/ServerToolbox.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
153 OrthancServer/OrthancFindRequestHandler.cpp |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
154 OrthancServer/OrthancMoveRequestHandler.cpp |
946
394a19d44f9d
integration mainline -> lua-scripting
Sebastien Jodogne <s.jodogne@gmail.com>
diff
changeset
|
155 |
394a19d44f9d
integration mainline -> lua-scripting
Sebastien Jodogne <s.jodogne@gmail.com>
diff
changeset
|
156 # From "lua-scripting" branch |
1001
f3929718ea7e
autorouting primitives
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1000
diff
changeset
|
157 OrthancServer/Scheduler/DeleteInstanceCommand.cpp |
1000
13e230bbd882
rename filter to command
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
158 OrthancServer/Scheduler/ServerCommandInstance.cpp |
946
394a19d44f9d
integration mainline -> lua-scripting
Sebastien Jodogne <s.jodogne@gmail.com>
diff
changeset
|
159 OrthancServer/Scheduler/ServerJob.cpp |
394a19d44f9d
integration mainline -> lua-scripting
Sebastien Jodogne <s.jodogne@gmail.com>
diff
changeset
|
160 OrthancServer/Scheduler/ServerScheduler.cpp |
1000
13e230bbd882
rename filter to command
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
161 OrthancServer/Scheduler/StoreScuCommand.cpp |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
162 ) |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
163 |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
164 |
827
3d6f9b7d0add
precompiled headers in unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
826
diff
changeset
|
165 set(ORTHANC_UNIT_TESTS_SOURCES |
967
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
166 UnitTestsSources/DicomMapTests.cpp |
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
167 UnitTestsSources/FileStorageTests.cpp |
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
168 UnitTestsSources/FromDcmtkTests.cpp |
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
169 UnitTestsSources/MemoryCacheTests.cpp |
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
170 UnitTestsSources/PngTests.cpp |
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
171 UnitTestsSources/RestApiTests.cpp |
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
172 UnitTestsSources/SQLiteTests.cpp |
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
173 UnitTestsSources/SQLiteChromiumTests.cpp |
827
3d6f9b7d0add
precompiled headers in unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
826
diff
changeset
|
174 UnitTestsSources/ServerIndexTests.cpp |
967
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
175 UnitTestsSources/VersionsTests.cpp |
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
176 UnitTestsSources/ZipTests.cpp |
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
177 UnitTestsSources/LuaTests.cpp |
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
178 UnitTestsSources/MultiThreadingTests.cpp |
827
3d6f9b7d0add
precompiled headers in unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
826
diff
changeset
|
179 UnitTestsSources/UnitTestsMain.cpp |
853
839be3022203
DicomImageInformation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
850
diff
changeset
|
180 UnitTestsSources/ImageProcessingTests.cpp |
967
dfc076546821
add suffix Tests to unit test sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
950
diff
changeset
|
181 UnitTestsSources/JpegLosslessTests.cpp |
827
3d6f9b7d0add
precompiled headers in unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
826
diff
changeset
|
182 ) |
3d6f9b7d0add
precompiled headers in unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
826
diff
changeset
|
183 |
3d6f9b7d0add
precompiled headers in unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
826
diff
changeset
|
184 |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
185 |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
186 ##################################################################### |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
187 ## Inclusion of third-party dependencies |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
188 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
189 |
134 | 190 # Configuration of the standalone builds |
569 | 191 if (CMAKE_CROSSCOMPILING) |
134 | 192 # Cross-compilation implies the standalone build |
19 | 193 SET(STANDALONE_BUILD ON) |
194 endif() | |
195 | |
134 | 196 # Prepare the third-party dependencies |
22 | 197 SET(THIRD_PARTY_SOURCES |
950
8811abd6aec9
move ThirdParty code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
930
diff
changeset
|
198 ${CMAKE_SOURCE_DIR}/Resources/ThirdParty/md5/md5.c |
8811abd6aec9
move ThirdParty code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
930
diff
changeset
|
199 ${CMAKE_SOURCE_DIR}/Resources/ThirdParty/base64/base64.cpp |
22 | 200 ) |
26 | 201 |
102
7593b57dc1bf
switch to google log
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
202 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleLogConfiguration.cmake) |
672
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
203 include(${CMAKE_SOURCE_DIR}/Resources/CMake/BoostConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
204 include(${CMAKE_SOURCE_DIR}/Resources/CMake/DcmtkConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
205 include(${CMAKE_SOURCE_DIR}/Resources/CMake/MongooseConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
206 include(${CMAKE_SOURCE_DIR}/Resources/CMake/ZlibConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
207 include(${CMAKE_SOURCE_DIR}/Resources/CMake/SQLiteConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
208 include(${CMAKE_SOURCE_DIR}/Resources/CMake/JsonCppConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
209 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LibPngConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
210 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LuaConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
211 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LibCurlConfiguration.cmake) |
670dd1f2edab
improvements to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
671
diff
changeset
|
212 |
102
7593b57dc1bf
switch to google log
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
101
diff
changeset
|
213 |
29
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
26
diff
changeset
|
214 if (${ENABLE_SSL}) |
57 | 215 add_definitions(-DORTHANC_SSL_ENABLED=1) |
29
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
26
diff
changeset
|
216 include(${CMAKE_SOURCE_DIR}/Resources/CMake/OpenSslConfiguration.cmake) |
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
26
diff
changeset
|
217 else() |
57 | 218 add_definitions(-DORTHANC_SSL_ENABLED=0) |
29
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
26
diff
changeset
|
219 endif() |
042ac60f5bf9
simplified build of curl
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
26
diff
changeset
|
220 |
12 | 221 |
850
9ee2e7a5efaf
support of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
845
diff
changeset
|
222 if (ENABLE_JPEG) |
9ee2e7a5efaf
support of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
845
diff
changeset
|
223 add_definitions(-DORTHANC_JPEG_ENABLED=1) |
9ee2e7a5efaf
support of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
845
diff
changeset
|
224 else() |
9ee2e7a5efaf
support of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
845
diff
changeset
|
225 add_definitions(-DORTHANC_JPEG_ENABLED=0) |
9ee2e7a5efaf
support of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
845
diff
changeset
|
226 endif() |
9ee2e7a5efaf
support of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
845
diff
changeset
|
227 |
9ee2e7a5efaf
support of JPEG images
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
845
diff
changeset
|
228 |
839 | 229 if (ENABLE_JPEG_LOSSLESS) |
230 add_definitions(-DORTHANC_JPEG_LOSSLESS_ENABLED=1) | |
231 else() | |
232 add_definitions(-DORTHANC_JPEG_LOSSLESS_ENABLED=0) | |
233 endif() | |
234 | |
235 | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
236 |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
237 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
238 ## Autogeneration of files |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
239 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
240 |
291
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
241 # Prepare the embedded files |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
242 set(EMBEDDED_FILES |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
243 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
|
244 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
|
245 CONFIGURATION_SAMPLE ${CMAKE_CURRENT_SOURCE_DIR}/Resources/Configuration.json |
384 | 246 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
|
247 ) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
248 |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
249 if (${STANDALONE_BUILD}) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
250 # 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
|
251 add_definitions(-DORTHANC_STANDALONE=1) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
252 EmbedResources( |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
253 ${EMBEDDED_FILES} |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
254 ORTHANC_EXPLORER ${CMAKE_CURRENT_SOURCE_DIR}/OrthancExplorer |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
255 ${DCMTK_DICTIONARIES} |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
256 ) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
257 else() |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
258 add_definitions( |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
259 -DORTHANC_STANDALONE=0 |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
260 -DORTHANC_PATH=\"${CMAKE_SOURCE_DIR}\" |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
261 ) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
262 EmbedResources( |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
263 ${EMBEDDED_FILES} |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
264 ) |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
265 endif() |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
266 |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
267 |
4d7469f72a0b
embedding of dicom dictionaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
289
diff
changeset
|
268 |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
269 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
270 ## Build the core of Orthanc |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
271 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
272 |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
273 # Setup precompiled headers for Microsoft Visual Studio |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
274 if (${MSVC}) |
835 | 275 add_definitions(-DORTHANC_USE_PRECOMPILED_HEADERS=1) |
276 | |
831
84513f2ee1f3
pch for unit tests and server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
830
diff
changeset
|
277 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
84513f2ee1f3
pch for unit tests and server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
830
diff
changeset
|
278 "PrecompiledHeaders.h" "Core/PrecompiledHeaders.cpp" ORTHANC_CORE_SOURCES) |
84513f2ee1f3
pch for unit tests and server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
830
diff
changeset
|
279 |
84513f2ee1f3
pch for unit tests and server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
830
diff
changeset
|
280 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
832 | 281 "PrecompiledHeadersServer.h" "OrthancServer/PrecompiledHeadersServer.cpp" ORTHANC_SERVER_SOURCES) |
831
84513f2ee1f3
pch for unit tests and server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
830
diff
changeset
|
282 |
84513f2ee1f3
pch for unit tests and server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
830
diff
changeset
|
283 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
834 | 284 "PrecompiledHeadersUnitTests.h" "UnitTestsSources/PrecompiledHeadersUnitTests.cpp" ORTHANC_UNIT_TESTS_SOURCES) |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
285 endif() |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
286 |
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
287 |
600 | 288 add_definitions( |
289 -DORTHANC_VERSION="${ORTHANC_VERSION}" | |
290 ) | |
291 | |
520 | 292 list(LENGTH OPENSSL_SOURCES OPENSSL_SOURCES_LENGTH) |
293 if (${OPENSSL_SOURCES_LENGTH} GREATER 0) | |
294 add_library(OpenSSL STATIC ${OPENSSL_SOURCES}) | |
295 endif() | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
296 |
12 | 297 add_library(CoreLibrary |
298 STATIC | |
299 ${AUTOGENERATED_SOURCES} | |
300 ${THIRD_PARTY_SOURCES} | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
301 ${CURL_SOURCES} |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
302 ${ORTHANC_CORE_SOURCES} |
12 | 303 ) |
304 | |
135 | 305 |
546 | 306 ##################################################################### |
307 ## Build the Orthanc server | |
308 ##################################################################### | |
12 | 309 |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
310 add_library(ServerLibrary |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
311 STATIC |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
312 ${DCMTK_SOURCES} |
824
a811bdf8b8eb
precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
822
diff
changeset
|
313 ${ORTHANC_SERVER_SOURCES} |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
314 ) |
12 | 315 |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
316 # Ensure autogenerated code is built before building ServerLibrary |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
317 add_dependencies(ServerLibrary CoreLibrary) |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
318 |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
319 add_executable(Orthanc |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
320 OrthancServer/main.cpp |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
321 ) |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
322 |
870 | 323 target_link_libraries(Orthanc ServerLibrary CoreLibrary ${STATIC_LUA} ${STATIC_GOOGLE_LOG}) |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
324 |
546 | 325 if (${OPENSSL_SOURCES_LENGTH} GREATER 0) |
326 target_link_libraries(Orthanc OpenSSL) | |
327 endif() | |
328 | |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
329 install( |
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
330 TARGETS Orthanc |
649
7446a8ae2fad
fix installation path
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
638
diff
changeset
|
331 RUNTIME DESTINATION sbin |
517
b2b56b4e33b0
simplifications to cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
494
diff
changeset
|
332 ) |
261
9e24c33c3361
possibility to compile just the CoreLibrary
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
259
diff
changeset
|
333 |
546 | 334 |
335 | |
336 ##################################################################### | |
635 | 337 ## Build the unit tests |
546 | 338 ##################################################################### |
339 | |
707
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
340 if (UNIT_TESTS_WITH_HTTP_CONNEXIONS) |
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
341 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=1) |
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
342 else() |
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
343 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=0) |
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
344 endif() |
203157cb4fde
unit tests of httpclient
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
694
diff
changeset
|
345 |
635 | 346 add_definitions(-DORTHANC_BUILD_UNIT_TESTS=1) |
634 | 347 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleTestConfiguration.cmake) |
348 add_executable(UnitTests | |
349 ${GTEST_SOURCES} | |
827
3d6f9b7d0add
precompiled headers in unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
826
diff
changeset
|
350 ${ORTHANC_UNIT_TESTS_SOURCES} |
634 | 351 ) |
870 | 352 target_link_libraries(UnitTests ServerLibrary CoreLibrary ${STATIC_LUA} ${STATIC_GOOGLE_LOG}) |
520 | 353 |
634 | 354 if (${OPENSSL_SOURCES_LENGTH} GREATER 0) |
355 target_link_libraries(UnitTests OpenSSL) | |
120
5af0a4345d06
disabling of unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
102
diff
changeset
|
356 endif() |
5af0a4345d06
disabling of unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
102
diff
changeset
|
357 |
12 | 358 |
546 | 359 |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
360 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
361 ## 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
|
362 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
363 |
543 | 364 if (BUILD_CLIENT_LIBRARY) |
576 | 365 include_directories(${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/Laaw) |
543 | 366 |
367 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
569 | 368 if (CMAKE_CROSSCOMPILING) |
369 # Remove the default "lib" prefix from "libOrthancClient.dll" if cross-compiling | |
370 set(CMAKE_SHARED_LIBRARY_PREFIX "") | |
371 | |
568 | 372 if (${CMAKE_SIZEOF_VOID_P} EQUAL 4) |
576 | 373 set(ORTHANC_CPP_CLIENT_AUX ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/AUTOGENERATED/Windows32.def) |
568 | 374 elseif (${CMAKE_SIZEOF_VOID_P} EQUAL 8) |
576 | 375 set(ORTHANC_CPP_CLIENT_AUX ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/AUTOGENERATED/Windows64.def) |
568 | 376 else() |
377 message(FATAL_ERROR "Support your platform here") | |
378 endif() | |
543 | 379 else() |
570 | 380 # Nothing to do if using Visual Studio |
543 | 381 endif() |
570 | 382 |
571 | 383 if (${CMAKE_SIZEOF_VOID_P} EQUAL 4) |
384 set(CMAKE_SHARED_LIBRARY_SUFFIX "_Windows32.dll") | |
576 | 385 list(APPEND ORTHANC_CPP_CLIENT_AUX ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/AUTOGENERATED/Windows32.rc) |
571 | 386 elseif (${CMAKE_SIZEOF_VOID_P} EQUAL 8) |
387 set(CMAKE_SHARED_LIBRARY_SUFFIX "_Windows64.dll") | |
576 | 388 list(APPEND ORTHANC_CPP_CLIENT_AUX ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/AUTOGENERATED/Windows64.rc) |
571 | 389 else() |
390 message(FATAL_ERROR "Support your platform here") | |
391 endif() | |
392 | |
543 | 393 else() |
394 set(ORTHANC_CPP_CLIENT_AUX ${OPENSSL_SOURCES}) | |
395 endif() | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
396 |
543 | 397 add_library(OrthancClient SHARED |
836 | 398 ${ORTHANC_ROOT}/OrthancCppClient/OrthancCppClient.cpp |
872 | 399 ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/SharedLibrary.cpp |
950
8811abd6aec9
move ThirdParty code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
930
diff
changeset
|
400 ${ORTHANC_ROOT}/Resources/ThirdParty/md5/md5.c |
8811abd6aec9
move ThirdParty code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
930
diff
changeset
|
401 ${ORTHANC_ROOT}/Resources/ThirdParty/base64/base64.cpp |
543 | 402 ${ORTHANC_CPP_CLIENT_AUX} |
403 ${THIRD_PARTY_SOURCES} | |
404 ${CURL_SOURCES} | |
870 | 405 ${GOOGLE_LOG_SOURCES} |
543 | 406 ) |
407 | |
890 | 408 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR |
409 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD") | |
543 | 410 set_target_properties(OrthancClient |
576 | 411 PROPERTIES LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed -Wl,--version-script=${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/Laaw/VersionScript.map" |
543 | 412 ) |
413 target_link_libraries(OrthancClient pthread) | |
569 | 414 |
543 | 415 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
570 | 416 target_link_libraries(OrthancClient OpenSSL ws2_32) |
417 | |
569 | 418 if (CMAKE_CROSSCOMPILING) |
543 | 419 set_target_properties(OrthancClient |
420 PROPERTIES LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--allow-multiple-definition -static-libgcc -static-libstdc++" | |
421 ) | |
422 endif() | |
569 | 423 |
917
312d04beb0a2
branch for mac os build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
726
diff
changeset
|
424 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") |
312d04beb0a2
branch for mac os build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
726
diff
changeset
|
425 # TODO |
312d04beb0a2
branch for mac os build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
726
diff
changeset
|
426 target_link_libraries(OrthancClient pthread) |
312d04beb0a2
branch for mac os build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
726
diff
changeset
|
427 |
522 | 428 else() |
429 message(FATAL_ERROR "Support your platform here") | |
430 endif() | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
431 |
600 | 432 |
601
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
433 # Set the version of the "Orthanc Client" shared library |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
434 file(STRINGS |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
435 ${CMAKE_SOURCE_DIR}/OrthancCppClient/SharedLibrary/Product.json |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
436 ORTHANC_CLIENT_VERSION_TMP |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
437 REGEX "^[ \t]*\"Version\"[ \t]*") |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
438 |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
439 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
|
440 ORTHANC_CLIENT_VERSION ${ORTHANC_CLIENT_VERSION_TMP}) |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
441 |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
442 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
|
443 |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
444 set_target_properties(OrthancClient PROPERTIES |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
445 VERSION ${ORTHANC_CLIENT_VERSION} |
84011417321d
better version handling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
600
diff
changeset
|
446 SOVERSION ${ORTHANC_CLIENT_VERSION}) |
600 | 447 |
448 | |
543 | 449 install( |
450 TARGETS OrthancClient | |
571 | 451 RUNTIME DESTINATION lib # Destination for Windows |
452 LIBRARY DESTINATION lib # Destination for Linux | |
522 | 453 ) |
525 | 454 |
543 | 455 install( |
576 | 456 FILES ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/AUTOGENERATED/OrthancCppClient.h |
543 | 457 DESTINATION include/orthanc |
458 ) | |
522 | 459 endif() |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
460 |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
461 |
600 | 462 |
463 | |
516
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
464 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
465 ## 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
|
466 ##################################################################### |
49a1228d6fe7
building the dll from the main CMakeLists
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
506
diff
changeset
|
467 |
12 | 468 find_package(Doxygen) |
469 if (DOXYGEN_FOUND) | |
470 configure_file( | |
57 | 471 ${CMAKE_SOURCE_DIR}/Resources/Orthanc.doxygen |
472 ${CMAKE_CURRENT_BINARY_DIR}/Orthanc.doxygen | |
12 | 473 @ONLY) |
573 | 474 |
592 | 475 add_custom_target(doc |
476 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Orthanc.doxygen | |
12 | 477 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
595 | 478 COMMENT "Generating internal documentation with Doxygen" VERBATIM |
12 | 479 ) |
573 | 480 |
595 | 481 if (BUILD_CLIENT_LIBRARY) |
482 configure_file( | |
483 ${CMAKE_SOURCE_DIR}/Resources/OrthancClient.doxygen | |
484 ${CMAKE_CURRENT_BINARY_DIR}/OrthancClient.doxygen | |
485 @ONLY) | |
486 | |
487 add_custom_command(TARGET OrthancClient | |
488 POST_BUILD | |
489 COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancClient.doxygen | |
490 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} | |
491 COMMENT "Generating client documentation with Doxygen" VERBATIM | |
492 ) | |
493 | |
494 install( | |
495 DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/OrthancClientDocumentation/doc/ | |
496 DESTINATION share/doc/orthanc/OrthancClient | |
497 ) | |
498 endif() | |
594 | 499 |
149 | 500 else() |
501 message("Doxygen not found. The documentation will not be built.") | |
134 | 502 endif() |
584
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
503 |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
504 |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
505 ##################################################################### |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
506 ## Prepare the "uninstall" target |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
507 ## 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
|
508 ##################################################################### |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
509 |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
510 configure_file( |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
511 "${CMAKE_CURRENT_SOURCE_DIR}/Resources/CMake/Uninstall.cmake.in" |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
512 "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
513 IMMEDIATE @ONLY) |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
514 |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
515 add_custom_target(uninstall |
a042693cc6a9
uninstall target for make
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
578
diff
changeset
|
516 COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) |