comparison CMakeLists.txt @ 945:427a1f996b7b templating

integration mainline -> templating
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 25 Jun 2014 11:56:48 +0200
parents aabc3b430890 27d256e0b458
children 226cfef3822e
comparison
equal deleted inserted replaced
838:aabc3b430890 945:427a1f996b7b
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_CLIENT_LIBRARY ON CACHE BOOL "Build the client library") 17 SET(BUILD_CLIENT_LIBRARY ON CACHE BOOL "Build the client library")
18 SET(DCMTK_DICTIONARY_DIR "" CACHE PATH "Directory containing the DCMTK dictionaries \"dicom.dic\" and \"private.dic\" (only when using system version of DCMTK)") 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") 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 SET(UNIT_TESTS_WITH_HTTP_CONNEXIONS ON CACHE BOOL "Allow unit tests to make HTTP requests")
21 SET(ENABLE_JPEG ON CACHE BOOL "Enable JPEG decompression")
22 SET(ENABLE_JPEG_LOSSLESS ON CACHE BOOL "Enable JPEG-LS (Lossless) decompression")
21 23
22 # Advanced parameters to fine-tune linking against system libraries 24 # Advanced parameters to fine-tune linking against system libraries
23 SET(USE_SYSTEM_JSONCPP ON CACHE BOOL "Use the system version of JsonCpp") 25 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") 26 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") 27 SET(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test")
64 Core/Compression/HierarchicalZipWriter.cpp 66 Core/Compression/HierarchicalZipWriter.cpp
65 Core/OrthancException.cpp 67 Core/OrthancException.cpp
66 Core/DicomFormat/DicomArray.cpp 68 Core/DicomFormat/DicomArray.cpp
67 Core/DicomFormat/DicomMap.cpp 69 Core/DicomFormat/DicomMap.cpp
68 Core/DicomFormat/DicomTag.cpp 70 Core/DicomFormat/DicomTag.cpp
71 Core/DicomFormat/DicomImageInformation.cpp
69 Core/DicomFormat/DicomIntegerPixelAccessor.cpp 72 Core/DicomFormat/DicomIntegerPixelAccessor.cpp
70 Core/DicomFormat/DicomInstanceHasher.cpp 73 Core/DicomFormat/DicomInstanceHasher.cpp
71 Core/Enumerations.cpp 74 Core/Enumerations.cpp
72 Core/FileStorage/FileStorage.cpp 75 Core/FileStorage/FileStorage.cpp
73 Core/FileStorage/StorageAccessor.cpp 76 Core/FileStorage/StorageAccessor.cpp
90 Core/MultiThreading/ReaderWriterLock.cpp 93 Core/MultiThreading/ReaderWriterLock.cpp
91 Core/MultiThreading/SharedMessageQueue.cpp 94 Core/MultiThreading/SharedMessageQueue.cpp
92 Core/MultiThreading/ThreadedCommandProcessor.cpp 95 Core/MultiThreading/ThreadedCommandProcessor.cpp
93 Core/ImageFormats/ImageAccessor.cpp 96 Core/ImageFormats/ImageAccessor.cpp
94 Core/ImageFormats/ImageBuffer.cpp 97 Core/ImageFormats/ImageBuffer.cpp
98 Core/ImageFormats/ImageProcessing.cpp
95 Core/ImageFormats/PngReader.cpp 99 Core/ImageFormats/PngReader.cpp
96 Core/ImageFormats/PngWriter.cpp 100 Core/ImageFormats/PngWriter.cpp
97 Core/SQLite/Connection.cpp 101 Core/SQLite/Connection.cpp
98 Core/SQLite/FunctionContext.cpp 102 Core/SQLite/FunctionContext.cpp
99 Core/SQLite/Statement.cpp 103 Core/SQLite/Statement.cpp
124 OrthancServer/ParsedDicomFile.cpp 128 OrthancServer/ParsedDicomFile.cpp
125 OrthancServer/Internals/CommandDispatcher.cpp 129 OrthancServer/Internals/CommandDispatcher.cpp
126 OrthancServer/Internals/FindScp.cpp 130 OrthancServer/Internals/FindScp.cpp
127 OrthancServer/Internals/MoveScp.cpp 131 OrthancServer/Internals/MoveScp.cpp
128 OrthancServer/Internals/StoreScp.cpp 132 OrthancServer/Internals/StoreScp.cpp
133 OrthancServer/Internals/DicomImageDecoder.cpp
129 OrthancServer/OrthancInitialization.cpp 134 OrthancServer/OrthancInitialization.cpp
130 OrthancServer/OrthancPeerParameters.cpp 135 OrthancServer/OrthancPeerParameters.cpp
131 OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp 136 OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp
132 OrthancServer/OrthancRestApi/OrthancRestApi.cpp 137 OrthancServer/OrthancRestApi/OrthancRestApi.cpp
133 OrthancServer/OrthancRestApi/OrthancRestArchive.cpp 138 OrthancServer/OrthancRestApi/OrthancRestArchive.cpp
159 UnitTestsSources/Versions.cpp 164 UnitTestsSources/Versions.cpp
160 UnitTestsSources/Zip.cpp 165 UnitTestsSources/Zip.cpp
161 UnitTestsSources/Lua.cpp 166 UnitTestsSources/Lua.cpp
162 UnitTestsSources/MultiThreading.cpp 167 UnitTestsSources/MultiThreading.cpp
163 UnitTestsSources/UnitTestsMain.cpp 168 UnitTestsSources/UnitTestsMain.cpp
169 UnitTestsSources/ImageProcessingTests.cpp
170 UnitTestsSources/JpegLossless.cpp
171
164 UnitTestsSources/Plustache.cpp 172 UnitTestsSources/Plustache.cpp
165 ) 173 )
166 174
167 175
168 176
201 else() 209 else()
202 add_definitions(-DORTHANC_SSL_ENABLED=0) 210 add_definitions(-DORTHANC_SSL_ENABLED=0)
203 endif() 211 endif()
204 212
205 213
214 if (ENABLE_JPEG)
215 add_definitions(-DORTHANC_JPEG_ENABLED=1)
216 else()
217 add_definitions(-DORTHANC_JPEG_ENABLED=0)
218 endif()
219
220
221 if (ENABLE_JPEG_LOSSLESS)
222 add_definitions(-DORTHANC_JPEG_LOSSLESS_ENABLED=1)
223 else()
224 add_definitions(-DORTHANC_JPEG_LOSSLESS_ENABLED=0)
225 endif()
226
227
206 228
207 ##################################################################### 229 #####################################################################
208 ## Autogeneration of files 230 ## Autogeneration of files
209 ##################################################################### 231 #####################################################################
210 232
288 310
289 add_executable(Orthanc 311 add_executable(Orthanc
290 OrthancServer/main.cpp 312 OrthancServer/main.cpp
291 ) 313 )
292 314
293 target_link_libraries(Orthanc ServerLibrary CoreLibrary) 315 target_link_libraries(Orthanc ServerLibrary CoreLibrary ${STATIC_LUA} ${STATIC_GOOGLE_LOG})
294 316
295 if (${OPENSSL_SOURCES_LENGTH} GREATER 0) 317 if (${OPENSSL_SOURCES_LENGTH} GREATER 0)
296 target_link_libraries(Orthanc OpenSSL) 318 target_link_libraries(Orthanc OpenSSL)
297 endif() 319 endif()
298 320
317 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleTestConfiguration.cmake) 339 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleTestConfiguration.cmake)
318 add_executable(UnitTests 340 add_executable(UnitTests
319 ${GTEST_SOURCES} 341 ${GTEST_SOURCES}
320 ${ORTHANC_UNIT_TESTS_SOURCES} 342 ${ORTHANC_UNIT_TESTS_SOURCES}
321 ) 343 )
322 target_link_libraries(UnitTests ServerLibrary CoreLibrary) 344 target_link_libraries(UnitTests ServerLibrary CoreLibrary ${STATIC_LUA} ${STATIC_GOOGLE_LOG})
323 345
324 if (${OPENSSL_SOURCES_LENGTH} GREATER 0) 346 if (${OPENSSL_SOURCES_LENGTH} GREATER 0)
325 target_link_libraries(UnitTests OpenSSL) 347 target_link_libraries(UnitTests OpenSSL)
326 endif() 348 endif()
327 349
364 set(ORTHANC_CPP_CLIENT_AUX ${OPENSSL_SOURCES}) 386 set(ORTHANC_CPP_CLIENT_AUX ${OPENSSL_SOURCES})
365 endif() 387 endif()
366 388
367 add_library(OrthancClient SHARED 389 add_library(OrthancClient SHARED
368 ${ORTHANC_ROOT}/OrthancCppClient/OrthancCppClient.cpp 390 ${ORTHANC_ROOT}/OrthancCppClient/OrthancCppClient.cpp
391 ${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/SharedLibrary.cpp
369 ${ORTHANC_ROOT}/Resources/md5/md5.c 392 ${ORTHANC_ROOT}/Resources/md5/md5.c
370 ${ORTHANC_ROOT}/Resources/base64/base64.cpp 393 ${ORTHANC_ROOT}/Resources/base64/base64.cpp
371 ${ORTHANC_CPP_CLIENT_AUX} 394 ${ORTHANC_CPP_CLIENT_AUX}
372 ${THIRD_PARTY_SOURCES} 395 ${THIRD_PARTY_SOURCES}
373 ${CURL_SOURCES} 396 ${CURL_SOURCES}
374 ) 397 ${GOOGLE_LOG_SOURCES}
375 398 )
376 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") 399
400 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
401 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD")
377 set_target_properties(OrthancClient 402 set_target_properties(OrthancClient
378 PROPERTIES LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed -Wl,--version-script=${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/Laaw/VersionScript.map" 403 PROPERTIES LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed -Wl,--version-script=${ORTHANC_ROOT}/OrthancCppClient/SharedLibrary/Laaw/VersionScript.map"
379 ) 404 )
380 target_link_libraries(OrthancClient pthread) 405 target_link_libraries(OrthancClient pthread)
381 406
385 if (CMAKE_CROSSCOMPILING) 410 if (CMAKE_CROSSCOMPILING)
386 set_target_properties(OrthancClient 411 set_target_properties(OrthancClient
387 PROPERTIES LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--allow-multiple-definition -static-libgcc -static-libstdc++" 412 PROPERTIES LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--allow-multiple-definition -static-libgcc -static-libstdc++"
388 ) 413 )
389 endif() 414 endif()
415
416 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
417 # TODO
418 target_link_libraries(OrthancClient pthread)
390 419
391 else() 420 else()
392 message(FATAL_ERROR "Support your platform here") 421 message(FATAL_ERROR "Support your platform here")
393 endif() 422 endif()
394 423