Mercurial > hg > orthanc
comparison CMakeLists.txt @ 759:8cfc6119a5bd dicom-rt
integration mainline -> dicom-rt
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 16 Apr 2014 16:04:55 +0200 |
parents | b82292ba2083 40d09221077a |
children | 12a3f2eaa99a |
comparison
equal
deleted
inserted
replaced
605:b82292ba2083 | 759:8cfc6119a5bd |
---|---|
9 ##################################################################### | 9 ##################################################################### |
10 ## CMake parameters tunable at the command line | 10 ## CMake parameters tunable at the command line |
11 ##################################################################### | 11 ##################################################################### |
12 | 12 |
13 # Parameters of the build | 13 # Parameters of the build |
14 SET(STATIC_BUILD ON CACHE BOOL "Static build of the third-party libraries (necessary for Windows)") | 14 SET(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)") |
15 SET(STANDALONE_BUILD ON CACHE BOOL "Standalone build (all the resources are embedded, necessary for releases)") | 15 SET(STANDALONE_BUILD ON CACHE BOOL "Standalone build (all the resources are embedded, necessary for releases)") |
16 SET(ENABLE_SSL ON CACHE BOOL "Include support for SSL") | 16 SET(ENABLE_SSL ON CACHE BOOL "Include support for SSL") |
17 SET(BUILD_UNIT_TESTS ON CACHE BOOL "Build the unit tests") | |
18 SET(BUILD_CLIENT_LIBRARY ON CACHE BOOL "Build the client library") | 17 SET(BUILD_CLIENT_LIBRARY ON CACHE BOOL "Build the client library") |
19 SET(DCMTK_DICTIONARY_DIR "/usr/share/dcmtk" CACHE PATH "Directory containing the DCMTK dictionaries \"dicom.dic\" and \"private.dic\" (ignored in standalone builds)") | 18 SET(DCMTK_DICTIONARY_DIR "" CACHE PATH "Directory containing the DCMTK dictionaries \"dicom.dic\" and \"private.dic\" (only when using system version of DCMTK)") |
19 SET(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages") | |
20 SET(UNIT_TESTS_WITH_HTTP_CONNEXIONS ON CACHE BOOL "Allow unit tests to make HTTP requests") | |
20 | 21 |
21 # Advanced parameters to fine-tune linking against system libraries | 22 # Advanced parameters to fine-tune linking against system libraries |
22 SET(USE_DYNAMIC_JSONCPP OFF CACHE BOOL "Use the dynamic version of JsonCpp") | 23 SET(USE_SYSTEM_JSONCPP ON CACHE BOOL "Use the system version of JsonCpp") |
23 SET(USE_DYNAMIC_GOOGLE_LOG ON CACHE BOOL "Use the dynamic version of Google Log") | 24 SET(USE_SYSTEM_GOOGLE_LOG ON CACHE BOOL "Use the system version of Google Log") |
24 SET(USE_DYNAMIC_GOOGLE_TEST ON CACHE BOOL "Use the dynamic version of Google Test") | 25 SET(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test") |
25 SET(USE_DYNAMIC_SQLITE ON CACHE BOOL "Use the dynamic version of SQLite") | 26 SET(USE_SYSTEM_SQLITE ON CACHE BOOL "Use the system version of SQLite") |
26 SET(USE_DYNAMIC_MONGOOSE OFF CACHE BOOL "Use the dynamic version of Mongoose") | 27 SET(USE_SYSTEM_MONGOOSE ON CACHE BOOL "Use the system version of Mongoose") |
27 SET(USE_DYNAMIC_LUA OFF CACHE BOOL "Use the dynamic version of Lua") | 28 SET(USE_SYSTEM_LUA ON CACHE BOOL "Use the system version of Lua") |
28 SET(DEBIAN_USE_GTEST_SOURCE_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)") | 29 SET(USE_SYSTEM_DCMTK ON CACHE BOOL "Use the system version of DCMTK") |
29 | 30 SET(USE_SYSTEM_BOOST ON CACHE BOOL "Use the system version of Boost") |
30 mark_as_advanced(USE_DYNAMIC_JSONCPP) | 31 SET(USE_SYSTEM_LIBPNG ON CACHE BOOL "Use the system version of LibPng") |
31 mark_as_advanced(USE_DYNAMIC_GOOGLE_LOG) | 32 SET(USE_SYSTEM_CURL ON CACHE BOOL "Use the system version of LibCurl") |
32 mark_as_advanced(USE_DYNAMIC_GOOGLE_TEST) | 33 SET(USE_SYSTEM_OPENSSL ON CACHE BOOL "Use the system version of OpenSSL") |
33 mark_as_advanced(USE_DYNAMIC_SQLITE) | 34 SET(USE_SYSTEM_ZLIB ON CACHE BOOL "Use the system version of ZLib") |
34 mark_as_advanced(DEBIAN_USE_GTEST_SOURCE_PACKAGE) | 35 |
36 # Distribution-specific settings | |
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) | |
35 | 39 |
36 # Some basic inclusions | 40 # Some basic inclusions |
37 include(CheckIncludeFiles) | 41 include(CheckIncludeFiles) |
38 include(CheckIncludeFileCXX) | 42 include(CheckIncludeFileCXX) |
39 include(CheckLibraryExists) | 43 include(CheckLibraryExists) |
61 ${CMAKE_SOURCE_DIR}/Resources/md5/md5.c | 65 ${CMAKE_SOURCE_DIR}/Resources/md5/md5.c |
62 ${CMAKE_SOURCE_DIR}/Resources/base64/base64.cpp | 66 ${CMAKE_SOURCE_DIR}/Resources/base64/base64.cpp |
63 ) | 67 ) |
64 | 68 |
65 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleLogConfiguration.cmake) | 69 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleLogConfiguration.cmake) |
66 | |
67 if (${ENABLE_SSL}) | |
68 add_definitions(-DORTHANC_SSL_ENABLED=1) | |
69 include(${CMAKE_SOURCE_DIR}/Resources/CMake/OpenSslConfiguration.cmake) | |
70 else() | |
71 add_definitions(-DORTHANC_SSL_ENABLED=0) | |
72 endif() | |
73 | |
74 include(${CMAKE_SOURCE_DIR}/Resources/CMake/BoostConfiguration.cmake) | 70 include(${CMAKE_SOURCE_DIR}/Resources/CMake/BoostConfiguration.cmake) |
75 include(${CMAKE_SOURCE_DIR}/Resources/CMake/DcmtkConfiguration.cmake) | 71 include(${CMAKE_SOURCE_DIR}/Resources/CMake/DcmtkConfiguration.cmake) |
76 include(${CMAKE_SOURCE_DIR}/Resources/CMake/MongooseConfiguration.cmake) | 72 include(${CMAKE_SOURCE_DIR}/Resources/CMake/MongooseConfiguration.cmake) |
77 include(${CMAKE_SOURCE_DIR}/Resources/CMake/ZlibConfiguration.cmake) | 73 include(${CMAKE_SOURCE_DIR}/Resources/CMake/ZlibConfiguration.cmake) |
78 include(${CMAKE_SOURCE_DIR}/Resources/CMake/SQLiteConfiguration.cmake) | 74 include(${CMAKE_SOURCE_DIR}/Resources/CMake/SQLiteConfiguration.cmake) |
79 include(${CMAKE_SOURCE_DIR}/Resources/CMake/JsonCppConfiguration.cmake) | 75 include(${CMAKE_SOURCE_DIR}/Resources/CMake/JsonCppConfiguration.cmake) |
80 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LibCurlConfiguration.cmake) | |
81 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LibPngConfiguration.cmake) | 76 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LibPngConfiguration.cmake) |
82 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LuaConfiguration.cmake) | 77 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LuaConfiguration.cmake) |
78 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LibCurlConfiguration.cmake) | |
79 | |
80 | |
81 if (${ENABLE_SSL}) | |
82 add_definitions(-DORTHANC_SSL_ENABLED=1) | |
83 include(${CMAKE_SOURCE_DIR}/Resources/CMake/OpenSslConfiguration.cmake) | |
84 else() | |
85 add_definitions(-DORTHANC_SSL_ENABLED=0) | |
86 endif() | |
83 | 87 |
84 | 88 |
85 | 89 |
86 ##################################################################### | 90 ##################################################################### |
87 ## Autogeneration of files | 91 ## Autogeneration of files |
88 ##################################################################### | 92 ##################################################################### |
89 | 93 |
90 # Prepare the embedded files | 94 # Prepare the embedded files |
91 set(EMBEDDED_FILES | 95 set(EMBEDDED_FILES |
92 PREPARE_DATABASE ${CMAKE_CURRENT_SOURCE_DIR}/OrthancServer/PrepareDatabase.sql | 96 PREPARE_DATABASE ${CMAKE_CURRENT_SOURCE_DIR}/OrthancServer/PrepareDatabase.sql |
97 UPGRADE_DATABASE_3_TO_4 ${CMAKE_CURRENT_SOURCE_DIR}/OrthancServer/Upgrade3To4.sql | |
93 CONFIGURATION_SAMPLE ${CMAKE_CURRENT_SOURCE_DIR}/Resources/Configuration.json | 98 CONFIGURATION_SAMPLE ${CMAKE_CURRENT_SOURCE_DIR}/Resources/Configuration.json |
94 LUA_TOOLBOX ${CMAKE_CURRENT_SOURCE_DIR}/Resources/Toolbox.lua | 99 LUA_TOOLBOX ${CMAKE_CURRENT_SOURCE_DIR}/Resources/Toolbox.lua |
95 ) | 100 ) |
96 | 101 |
97 if (${STANDALONE_BUILD}) | 102 if (${STANDALONE_BUILD}) |
200 OrthancServer/Internals/CommandDispatcher.cpp | 205 OrthancServer/Internals/CommandDispatcher.cpp |
201 OrthancServer/Internals/FindScp.cpp | 206 OrthancServer/Internals/FindScp.cpp |
202 OrthancServer/Internals/MoveScp.cpp | 207 OrthancServer/Internals/MoveScp.cpp |
203 OrthancServer/Internals/StoreScp.cpp | 208 OrthancServer/Internals/StoreScp.cpp |
204 OrthancServer/OrthancInitialization.cpp | 209 OrthancServer/OrthancInitialization.cpp |
205 OrthancServer/OrthancRestApi.cpp | 210 OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp |
211 OrthancServer/OrthancRestApi/OrthancRestApi.cpp | |
212 OrthancServer/OrthancRestApi/OrthancRestArchive.cpp | |
213 OrthancServer/OrthancRestApi/OrthancRestChanges.cpp | |
214 OrthancServer/OrthancRestApi/OrthancRestModalities.cpp | |
215 OrthancServer/OrthancRestApi/OrthancRestResources.cpp | |
216 OrthancServer/OrthancRestApi/OrthancRestSystem.cpp | |
206 OrthancServer/ServerIndex.cpp | 217 OrthancServer/ServerIndex.cpp |
207 OrthancServer/ToDcmtkBridge.cpp | 218 OrthancServer/ToDcmtkBridge.cpp |
208 OrthancServer/DatabaseWrapper.cpp | 219 OrthancServer/DatabaseWrapper.cpp |
209 OrthancServer/ServerContext.cpp | 220 OrthancServer/ServerContext.cpp |
210 OrthancServer/ServerEnumerations.cpp | 221 OrthancServer/ServerEnumerations.cpp |
211 OrthancServer/ServerToolbox.cpp | 222 OrthancServer/ServerToolbox.cpp |
212 | 223 OrthancServer/OrthancFindRequestHandler.cpp |
213 OrthancServer/RadiotherapyRestApi.cpp | 224 OrthancServer/OrthancMoveRequestHandler.cpp |
225 | |
226 #OrthancServer/RadiotherapyRestApi.cpp | |
214 ) | 227 ) |
215 | 228 |
216 # Ensure autogenerated code is built before building ServerLibrary | 229 # Ensure autogenerated code is built before building ServerLibrary |
217 add_dependencies(ServerLibrary CoreLibrary) | 230 add_dependencies(ServerLibrary CoreLibrary) |
218 | 231 |
226 target_link_libraries(Orthanc OpenSSL) | 239 target_link_libraries(Orthanc OpenSSL) |
227 endif() | 240 endif() |
228 | 241 |
229 install( | 242 install( |
230 TARGETS Orthanc | 243 TARGETS Orthanc |
231 RUNTIME DESTINATION bin | 244 RUNTIME DESTINATION sbin |
232 ) | 245 ) |
233 | 246 |
234 | 247 |
235 | 248 |
236 ##################################################################### | 249 ##################################################################### |
237 ## Build the unit tests if required | 250 ## Build the unit tests |
238 ##################################################################### | 251 ##################################################################### |
239 | 252 |
240 if (BUILD_UNIT_TESTS) | 253 if (UNIT_TESTS_WITH_HTTP_CONNEXIONS) |
241 add_definitions(-DORTHANC_BUILD_UNIT_TESTS=1) | 254 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=1) |
242 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleTestConfiguration.cmake) | 255 else() |
243 add_executable(UnitTests | 256 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=0) |
244 ${GTEST_SOURCES} | 257 endif() |
245 UnitTests/FileStorage.cpp | 258 |
246 UnitTests/MemoryCache.cpp | 259 add_definitions(-DORTHANC_BUILD_UNIT_TESTS=1) |
247 UnitTests/Png.cpp | 260 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleTestConfiguration.cmake) |
248 UnitTests/RestApi.cpp | 261 add_executable(UnitTests |
249 UnitTests/SQLite.cpp | 262 ${GTEST_SOURCES} |
250 UnitTests/SQLiteChromium.cpp | 263 UnitTestsSources/DicomMap.cpp |
251 UnitTests/ServerIndex.cpp | 264 UnitTestsSources/FileStorage.cpp |
252 UnitTests/Versions.cpp | 265 UnitTestsSources/MemoryCache.cpp |
253 UnitTests/Zip.cpp | 266 UnitTestsSources/Png.cpp |
254 UnitTests/Lua.cpp | 267 UnitTestsSources/RestApi.cpp |
255 UnitTests/main.cpp | 268 UnitTestsSources/SQLite.cpp |
256 ) | 269 UnitTestsSources/SQLiteChromium.cpp |
257 target_link_libraries(UnitTests ServerLibrary CoreLibrary) | 270 UnitTestsSources/ServerIndexTests.cpp |
258 | 271 UnitTestsSources/Versions.cpp |
259 if (${OPENSSL_SOURCES_LENGTH} GREATER 0) | 272 UnitTestsSources/Zip.cpp |
260 target_link_libraries(UnitTests OpenSSL) | 273 UnitTestsSources/Lua.cpp |
261 endif() | 274 UnitTestsSources/MultiThreading.cpp |
275 UnitTestsSources/UnitTestsMain.cpp | |
276 ) | |
277 target_link_libraries(UnitTests ServerLibrary CoreLibrary) | |
278 | |
279 if (${OPENSSL_SOURCES_LENGTH} GREATER 0) | |
280 target_link_libraries(UnitTests OpenSSL) | |
262 endif() | 281 endif() |
263 | 282 |
264 | 283 |
265 | 284 |
266 ##################################################################### | 285 ##################################################################### |