Mercurial > hg > orthanc
diff CMakeLists.txt @ 824:a811bdf8b8eb
precompiled headers
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 02 Jun 2014 11:36:07 +0200 |
parents | 7ce875531950 |
children | f2509d3624f6 |
line wrap: on
line diff
--- a/CMakeLists.txt Thu May 08 17:16:10 2014 +0200 +++ b/CMakeLists.txt Mon Jun 02 11:36:07 2014 +0200 @@ -44,6 +44,7 @@ include(${CMAKE_SOURCE_DIR}/Resources/CMake/AutoGeneratedCode.cmake) include(${CMAKE_SOURCE_DIR}/Resources/CMake/DownloadPackage.cmake) include(${CMAKE_SOURCE_DIR}/Resources/CMake/Compiler.cmake) +include(${CMAKE_SOURCE_DIR}/Resources/CMake/VisualStudioPrecompiledHeaders.cmake) set(ORTHANC_ROOT ${CMAKE_SOURCE_DIR}) @@ -51,6 +52,102 @@ ##################################################################### +## List of source files +##################################################################### + +set(ORTHANC_CORE_SOURCES + Core/Cache/MemoryCache.cpp + Core/ChunkedBuffer.cpp + Core/Compression/BufferCompressor.cpp + Core/Compression/ZlibCompressor.cpp + Core/Compression/ZipWriter.cpp + Core/Compression/HierarchicalZipWriter.cpp + Core/OrthancException.cpp + Core/DicomFormat/DicomArray.cpp + Core/DicomFormat/DicomMap.cpp + Core/DicomFormat/DicomTag.cpp + Core/DicomFormat/DicomIntegerPixelAccessor.cpp + Core/DicomFormat/DicomInstanceHasher.cpp + Core/Enumerations.cpp + Core/FileStorage/FileStorage.cpp + Core/FileStorage/StorageAccessor.cpp + Core/FileStorage/CompressedFileStorageAccessor.cpp + Core/FileStorage/FileStorageAccessor.cpp + Core/HttpClient.cpp + Core/HttpServer/EmbeddedResourceHttpHandler.cpp + Core/HttpServer/FilesystemHttpHandler.cpp + Core/HttpServer/HttpHandler.cpp + Core/HttpServer/HttpOutput.cpp + Core/HttpServer/MongooseServer.cpp + Core/HttpServer/HttpFileSender.cpp + Core/HttpServer/FilesystemHttpSender.cpp + Core/RestApi/RestApiPath.cpp + Core/RestApi/RestApiOutput.cpp + Core/RestApi/RestApi.cpp + Core/MultiThreading/ArrayFilledByThreads.cpp + Core/MultiThreading/BagOfRunnablesBySteps.cpp + Core/MultiThreading/Mutex.cpp + Core/MultiThreading/ReaderWriterLock.cpp + Core/MultiThreading/SharedMessageQueue.cpp + Core/MultiThreading/ThreadedCommandProcessor.cpp + Core/ImageFormats/ImageAccessor.cpp + Core/ImageFormats/ImageBuffer.cpp + Core/ImageFormats/PngReader.cpp + Core/ImageFormats/PngWriter.cpp + Core/SQLite/Connection.cpp + Core/SQLite/FunctionContext.cpp + Core/SQLite/Statement.cpp + Core/SQLite/StatementId.cpp + Core/SQLite/StatementReference.cpp + Core/SQLite/Transaction.cpp + Core/Toolbox.cpp + Core/Uuid.cpp + Core/Lua/LuaContext.cpp + Core/Lua/LuaFunctionCall.cpp + + OrthancCppClient/OrthancConnection.cpp + OrthancCppClient/Study.cpp + OrthancCppClient/Series.cpp + OrthancCppClient/Instance.cpp + OrthancCppClient/Patient.cpp + ) + + +set(ORTHANC_SERVER_SOURCES + OrthancServer/DicomProtocol/DicomFindAnswers.cpp + OrthancServer/DicomProtocol/DicomServer.cpp + OrthancServer/DicomProtocol/DicomUserConnection.cpp + OrthancServer/DicomProtocol/RemoteModalityParameters.cpp + OrthancServer/DicomProtocol/ReusableDicomUserConnection.cpp + OrthancServer/DicomModification.cpp + OrthancServer/FromDcmtkBridge.cpp + OrthancServer/ParsedDicomFile.cpp + OrthancServer/Internals/CommandDispatcher.cpp + OrthancServer/Internals/FindScp.cpp + OrthancServer/Internals/MoveScp.cpp + OrthancServer/Internals/StoreScp.cpp + OrthancServer/OrthancInitialization.cpp + OrthancServer/OrthancPeerParameters.cpp + OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp + OrthancServer/OrthancRestApi/OrthancRestApi.cpp + OrthancServer/OrthancRestApi/OrthancRestArchive.cpp + OrthancServer/OrthancRestApi/OrthancRestChanges.cpp + OrthancServer/OrthancRestApi/OrthancRestModalities.cpp + OrthancServer/OrthancRestApi/OrthancRestResources.cpp + OrthancServer/OrthancRestApi/OrthancRestSystem.cpp + OrthancServer/ServerIndex.cpp + OrthancServer/ToDcmtkBridge.cpp + OrthancServer/DatabaseWrapper.cpp + OrthancServer/ServerContext.cpp + OrthancServer/ServerEnumerations.cpp + OrthancServer/ServerToolbox.cpp + OrthancServer/OrthancFindRequestHandler.cpp + OrthancServer/OrthancMoveRequestHandler.cpp + ) + + + +##################################################################### ## Inclusion of third-party dependencies ##################################################################### @@ -123,6 +220,14 @@ ## Build the core of Orthanc ##################################################################### +# Setup precompiled headers for Microsoft Visual Studio +if (${MSVC}) + set(ORTHANC_SOURCES ${ORTHANC_CORE_SOURCES} ${ORTHANC_SERVER_SOURCES}) + ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS("PrecompiledHeaders.h" "Core/PrecompiledHeaders.cpp" ORTHANC_SOURCES) + list(APPEND ORTHANC_CORE_SOURCES "Core/PrecompiledHeaders.h") +endif() + + add_definitions( -DORTHANC_VERSION="${ORTHANC_VERSION}" ) @@ -137,61 +242,7 @@ ${AUTOGENERATED_SOURCES} ${THIRD_PARTY_SOURCES} ${CURL_SOURCES} - - Core/Cache/MemoryCache.cpp - Core/ChunkedBuffer.cpp - Core/Compression/BufferCompressor.cpp - Core/Compression/ZlibCompressor.cpp - Core/Compression/ZipWriter.cpp - Core/Compression/HierarchicalZipWriter.cpp - Core/OrthancException.cpp - Core/DicomFormat/DicomArray.cpp - Core/DicomFormat/DicomMap.cpp - Core/DicomFormat/DicomTag.cpp - Core/DicomFormat/DicomIntegerPixelAccessor.cpp - Core/DicomFormat/DicomInstanceHasher.cpp - Core/Enumerations.cpp - Core/FileStorage/FileStorage.cpp - Core/FileStorage/StorageAccessor.cpp - Core/FileStorage/CompressedFileStorageAccessor.cpp - Core/FileStorage/FileStorageAccessor.cpp - Core/HttpClient.cpp - Core/HttpServer/EmbeddedResourceHttpHandler.cpp - Core/HttpServer/FilesystemHttpHandler.cpp - Core/HttpServer/HttpHandler.cpp - Core/HttpServer/HttpOutput.cpp - Core/HttpServer/MongooseServer.cpp - Core/HttpServer/HttpFileSender.cpp - Core/HttpServer/FilesystemHttpSender.cpp - Core/RestApi/RestApiPath.cpp - Core/RestApi/RestApiOutput.cpp - Core/RestApi/RestApi.cpp - Core/MultiThreading/ArrayFilledByThreads.cpp - Core/MultiThreading/BagOfRunnablesBySteps.cpp - Core/MultiThreading/Mutex.cpp - Core/MultiThreading/ReaderWriterLock.cpp - Core/MultiThreading/SharedMessageQueue.cpp - Core/MultiThreading/ThreadedCommandProcessor.cpp - Core/ImageFormats/ImageAccessor.cpp - Core/ImageFormats/ImageBuffer.cpp - Core/ImageFormats/PngReader.cpp - Core/ImageFormats/PngWriter.cpp - Core/SQLite/Connection.cpp - Core/SQLite/FunctionContext.cpp - Core/SQLite/Statement.cpp - Core/SQLite/StatementId.cpp - Core/SQLite/StatementReference.cpp - Core/SQLite/Transaction.cpp - Core/Toolbox.cpp - Core/Uuid.cpp - Core/Lua/LuaContext.cpp - Core/Lua/LuaFunctionCall.cpp - - OrthancCppClient/OrthancConnection.cpp - OrthancCppClient/Study.cpp - OrthancCppClient/Series.cpp - OrthancCppClient/Instance.cpp - OrthancCppClient/Patient.cpp + ${ORTHANC_CORE_SOURCES} ) @@ -202,35 +253,7 @@ add_library(ServerLibrary STATIC ${DCMTK_SOURCES} - OrthancServer/DicomProtocol/DicomFindAnswers.cpp - OrthancServer/DicomProtocol/DicomServer.cpp - OrthancServer/DicomProtocol/DicomUserConnection.cpp - OrthancServer/DicomProtocol/RemoteModalityParameters.cpp - OrthancServer/DicomProtocol/ReusableDicomUserConnection.cpp - OrthancServer/DicomModification.cpp - OrthancServer/FromDcmtkBridge.cpp - OrthancServer/ParsedDicomFile.cpp - OrthancServer/Internals/CommandDispatcher.cpp - OrthancServer/Internals/FindScp.cpp - OrthancServer/Internals/MoveScp.cpp - OrthancServer/Internals/StoreScp.cpp - OrthancServer/OrthancInitialization.cpp - OrthancServer/OrthancPeerParameters.cpp - OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp - OrthancServer/OrthancRestApi/OrthancRestApi.cpp - OrthancServer/OrthancRestApi/OrthancRestArchive.cpp - OrthancServer/OrthancRestApi/OrthancRestChanges.cpp - OrthancServer/OrthancRestApi/OrthancRestModalities.cpp - OrthancServer/OrthancRestApi/OrthancRestResources.cpp - OrthancServer/OrthancRestApi/OrthancRestSystem.cpp - OrthancServer/ServerIndex.cpp - OrthancServer/ToDcmtkBridge.cpp - OrthancServer/DatabaseWrapper.cpp - OrthancServer/ServerContext.cpp - OrthancServer/ServerEnumerations.cpp - OrthancServer/ServerToolbox.cpp - OrthancServer/OrthancFindRequestHandler.cpp - OrthancServer/OrthancMoveRequestHandler.cpp + ${ORTHANC_SERVER_SOURCES} ) # Ensure autogenerated code is built before building ServerLibrary