changeset 824:a811bdf8b8eb

precompiled headers
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 02 Jun 2014 11:36:07 +0200
parents 7ce875531950
children f2509d3624f6
files CMakeLists.txt Core/Cache/MemoryCache.cpp Core/ChunkedBuffer.cpp Core/Compression/BufferCompressor.cpp Core/Compression/HierarchicalZipWriter.cpp Core/Compression/ZipWriter.cpp Core/Compression/ZlibCompressor.cpp Core/DicomFormat/DicomArray.cpp Core/DicomFormat/DicomInstanceHasher.cpp Core/DicomFormat/DicomIntegerPixelAccessor.cpp Core/DicomFormat/DicomMap.cpp Core/DicomFormat/DicomTag.cpp Core/Enumerations.cpp Core/FileStorage/CompressedFileStorageAccessor.cpp Core/FileStorage/FileStorage.cpp Core/FileStorage/FileStorageAccessor.cpp Core/FileStorage/StorageAccessor.cpp Core/HttpClient.cpp Core/HttpServer/EmbeddedResourceHttpHandler.cpp Core/HttpServer/FilesystemHttpHandler.cpp Core/HttpServer/FilesystemHttpSender.cpp Core/HttpServer/HttpFileSender.cpp Core/HttpServer/HttpHandler.cpp Core/HttpServer/HttpOutput.cpp Core/HttpServer/MongooseServer.cpp Core/ImageFormats/ImageAccessor.cpp Core/ImageFormats/ImageBuffer.cpp Core/ImageFormats/PngReader.cpp Core/ImageFormats/PngWriter.cpp Core/Lua/LuaContext.cpp Core/Lua/LuaFunctionCall.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/OrthancException.cpp Core/PrecompiledHeaders.cpp Core/PrecompiledHeaders.h Core/RestApi/RestApi.cpp Core/RestApi/RestApiOutput.cpp Core/RestApi/RestApiPath.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 NEWS OrthancCppClient/Instance.cpp OrthancCppClient/OrthancConnection.cpp OrthancCppClient/Patient.cpp OrthancCppClient/Series.cpp OrthancCppClient/Study.cpp OrthancServer/DatabaseWrapper.cpp OrthancServer/DicomModification.cpp OrthancServer/DicomProtocol/DicomFindAnswers.cpp OrthancServer/DicomProtocol/DicomServer.cpp OrthancServer/DicomProtocol/DicomUserConnection.cpp OrthancServer/DicomProtocol/RemoteModalityParameters.cpp OrthancServer/DicomProtocol/ReusableDicomUserConnection.cpp OrthancServer/FromDcmtkBridge.cpp OrthancServer/Internals/CommandDispatcher.cpp OrthancServer/Internals/FindScp.cpp OrthancServer/Internals/MoveScp.cpp OrthancServer/Internals/StoreScp.cpp OrthancServer/OrthancFindRequestHandler.cpp OrthancServer/OrthancInitialization.cpp OrthancServer/OrthancMoveRequestHandler.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/ParsedDicomFile.cpp OrthancServer/ServerContext.cpp OrthancServer/ServerEnumerations.cpp OrthancServer/ServerIndex.cpp OrthancServer/ServerToolbox.cpp OrthancServer/ToDcmtkBridge.cpp OrthancServer/main.cpp Resources/CMake/VisualStudioPrecompiledHeaders.cmake
diffstat 88 files changed, 332 insertions(+), 84 deletions(-) [+]
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
--- a/Core/Cache/MemoryCache.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/Cache/MemoryCache.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "MemoryCache.h"
 
 #include <stdlib.h>  // This fixes a problem in glog for recent
--- a/Core/ChunkedBuffer.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/ChunkedBuffer.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "PrecompiledHeaders.h"
 #include "ChunkedBuffer.h"
 
 #include <cassert>
--- a/Core/Compression/BufferCompressor.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/Compression/BufferCompressor.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "BufferCompressor.h"
 
 namespace Orthanc
--- a/Core/Compression/HierarchicalZipWriter.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/Compression/HierarchicalZipWriter.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "HierarchicalZipWriter.h"
 
 #include "../Toolbox.h"
--- a/Core/Compression/ZipWriter.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/Compression/ZipWriter.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -29,6 +29,9 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  **/
 
+
+#include "../PrecompiledHeaders.h"
+
 #ifndef NOMINMAX
 #define NOMINMAX
 #endif
--- a/Core/Compression/ZlibCompressor.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/Compression/ZlibCompressor.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "ZlibCompressor.h"
 
 #include <stdio.h>
--- a/Core/DicomFormat/DicomArray.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/DicomFormat/DicomArray.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "DicomArray.h"
 
 #include <stdio.h>
--- a/Core/DicomFormat/DicomInstanceHasher.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/DicomFormat/DicomInstanceHasher.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -29,6 +29,8 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  **/
 
+
+#include "../PrecompiledHeaders.h"
 #include "DicomInstanceHasher.h"
 
 #include "../OrthancException.h"
--- a/Core/DicomFormat/DicomIntegerPixelAccessor.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/DicomFormat/DicomIntegerPixelAccessor.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,8 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
+
 #ifndef NOMINMAX
 #define NOMINMAX
 #endif
--- a/Core/DicomFormat/DicomMap.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/DicomFormat/DicomMap.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "DicomMap.h"
 
 #include <stdio.h>
--- a/Core/DicomFormat/DicomTag.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/DicomFormat/DicomTag.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "DicomTag.h"
 
 #include "../OrthancException.h"
--- a/Core/Enumerations.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/Enumerations.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "PrecompiledHeaders.h"
 #include "Enumerations.h"
 
 #include "OrthancException.h"
--- a/Core/FileStorage/CompressedFileStorageAccessor.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/FileStorage/CompressedFileStorageAccessor.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "CompressedFileStorageAccessor.h"
 
 #include "../OrthancException.h"
--- a/Core/FileStorage/FileStorage.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/FileStorage/FileStorage.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "FileStorage.h"
 
 // http://stackoverflow.com/questions/1576272/storing-large-number-of-files-in-file-system
--- a/Core/FileStorage/FileStorageAccessor.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/FileStorage/FileStorageAccessor.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "FileStorageAccessor.h"
 
 namespace Orthanc
--- a/Core/FileStorage/StorageAccessor.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/FileStorage/StorageAccessor.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "StorageAccessor.h"
 
 namespace Orthanc
--- a/Core/HttpClient.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/HttpClient.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "PrecompiledHeaders.h"
 #include "HttpClient.h"
 
 #include "../Core/Toolbox.h"
--- a/Core/HttpServer/EmbeddedResourceHttpHandler.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/HttpServer/EmbeddedResourceHttpHandler.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "EmbeddedResourceHttpHandler.h"
 
 #include "../OrthancException.h"
--- a/Core/HttpServer/FilesystemHttpHandler.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/HttpServer/FilesystemHttpHandler.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "FilesystemHttpHandler.h"
 
 #include "../OrthancException.h"
--- a/Core/HttpServer/FilesystemHttpSender.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/HttpServer/FilesystemHttpSender.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -29,6 +29,7 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  **/
 
+#include "../PrecompiledHeaders.h"
 #include "FilesystemHttpSender.h"
 
 #include "../Toolbox.h"
--- a/Core/HttpServer/HttpFileSender.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/HttpServer/HttpFileSender.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "HttpFileSender.h"
 
 #include <boost/lexical_cast.hpp>
--- a/Core/HttpServer/HttpHandler.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/HttpServer/HttpHandler.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "HttpHandler.h"
 
 #include <string.h>
--- a/Core/HttpServer/HttpOutput.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/HttpServer/HttpOutput.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "HttpOutput.h"
 
 #include <iostream>
--- a/Core/HttpServer/MongooseServer.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/HttpServer/MongooseServer.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -32,6 +32,7 @@
 
 // http://en.highscore.de/cpp/boost/stringhandling.html
 
+#include "../PrecompiledHeaders.h"
 #include "MongooseServer.h"
 
 #include <algorithm>
--- a/Core/ImageFormats/ImageAccessor.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/ImageFormats/ImageAccessor.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "ImageAccessor.h"
 
 #include "../OrthancException.h"
--- a/Core/ImageFormats/ImageBuffer.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/ImageFormats/ImageBuffer.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "ImageBuffer.h"
 
 namespace Orthanc
--- a/Core/ImageFormats/PngReader.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/ImageFormats/PngReader.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "PngReader.h"
 
 #include "../OrthancException.h"
--- a/Core/ImageFormats/PngWriter.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/ImageFormats/PngWriter.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "PngWriter.h"
 
 #include <vector>
--- a/Core/Lua/LuaContext.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/Lua/LuaContext.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "LuaContext.h"
 
 #include <glog/logging.h>
--- a/Core/Lua/LuaFunctionCall.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/Lua/LuaFunctionCall.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "LuaFunctionCall.h"
 
 
--- a/Core/MultiThreading/ArrayFilledByThreads.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/MultiThreading/ArrayFilledByThreads.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -1,3 +1,36 @@
+/**
+ * Orthanc - A Lightweight, RESTful DICOM Store
+ * Copyright (C) 2012-2014 Medical Physics Department, CHU of Liege,
+ * Belgium
+ *
+ * This program is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * In addition, as a special exception, the copyright holders of this
+ * program give permission to link the code of its release with the
+ * OpenSSL project's "OpenSSL" library (or with modified versions of it
+ * that use the same license as the "OpenSSL" library), and distribute
+ * the linked executables. You must obey the GNU General Public License
+ * in all respects for all of the code used other than "OpenSSL". If you
+ * modify file(s) with this exception, you may extend this exception to
+ * your version of the file(s), but you are not obligated to do so. If
+ * you do not wish to do so, delete this exception statement from your
+ * version. If you delete this exception statement from all source files
+ * in the program, then also delete it here.
+ * 
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ **/
+
+
+#include "../PrecompiledHeaders.h"
 #include "ArrayFilledByThreads.h"
 
 #include "../MultiThreading/ThreadedCommandProcessor.h"
--- a/Core/MultiThreading/BagOfRunnablesBySteps.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/MultiThreading/BagOfRunnablesBySteps.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "BagOfRunnablesBySteps.h"
 
 #include <stack>
--- a/Core/MultiThreading/Mutex.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/MultiThreading/Mutex.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "Mutex.h"
 
 #include "../OrthancException.h"
--- a/Core/MultiThreading/ReaderWriterLock.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/MultiThreading/ReaderWriterLock.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "ReaderWriterLock.h"
 
 #include <boost/thread/shared_mutex.hpp>
--- a/Core/MultiThreading/SharedMessageQueue.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/MultiThreading/SharedMessageQueue.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "SharedMessageQueue.h"
 
 namespace Orthanc
--- a/Core/MultiThreading/ThreadedCommandProcessor.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/MultiThreading/ThreadedCommandProcessor.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "ThreadedCommandProcessor.h"
 
 #include "../OrthancException.h"
--- a/Core/OrthancException.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/OrthancException.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "PrecompiledHeaders.h"
 #include "OrthancException.h"
 
 namespace Orthanc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Core/PrecompiledHeaders.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -0,0 +1,33 @@
+/**
+ * Orthanc - A Lightweight, RESTful DICOM Store
+ * Copyright (C) 2012-2014 Medical Physics Department, CHU of Liege,
+ * Belgium
+ *
+ * This program is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * In addition, as a special exception, the copyright holders of this
+ * program give permission to link the code of its release with the
+ * OpenSSL project's "OpenSSL" library (or with modified versions of it
+ * that use the same license as the "OpenSSL" library), and distribute
+ * the linked executables. You must obey the GNU General Public License
+ * in all respects for all of the code used other than "OpenSSL". If you
+ * modify file(s) with this exception, you may extend this exception to
+ * your version of the file(s), but you are not obligated to do so. If
+ * you do not wish to do so, delete this exception statement from your
+ * version. If you delete this exception statement from all source files
+ * in the program, then also delete it here.
+ * 
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ **/
+
+
+#include "PrecompiledHeaders.h"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Core/PrecompiledHeaders.h	Mon Jun 02 11:36:07 2014 +0200
@@ -0,0 +1,52 @@
+/**
+ * Orthanc - A Lightweight, RESTful DICOM Store
+ * Copyright (C) 2012-2014 Medical Physics Department, CHU of Liege,
+ * Belgium
+ *
+ * This program is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * In addition, as a special exception, the copyright holders of this
+ * program give permission to link the code of its release with the
+ * OpenSSL project's "OpenSSL" library (or with modified versions of it
+ * that use the same license as the "OpenSSL" library), and distribute
+ * the linked executables. You must obey the GNU General Public License
+ * in all respects for all of the code used other than "OpenSSL". If you
+ * modify file(s) with this exception, you may extend this exception to
+ * your version of the file(s), but you are not obligated to do so. If
+ * you do not wish to do so, delete this exception statement from your
+ * version. If you delete this exception statement from all source files
+ * in the program, then also delete it here.
+ * 
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ **/
+
+
+#pragma once
+
+#define ORTHANC_PRECOMPILED_HEADERS_INCLUDED 1
+
+#if ORTHANC_USE_PRECOMPILED_HEADERS == 1
+
+#include <boost/date_time/posix_time/posix_time.hpp>
+#include <boost/filesystem.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/locale.hpp>
+#include <boost/regex.hpp>
+#include <boost/thread.hpp>
+#include <boost/thread/shared_mutex.hpp>
+
+#include "Enumerations.h"
+#include "OrthancException.h"
+#include "Toolbox.h"
+#include "Uuid.h"
+
+#endif
--- a/Core/RestApi/RestApi.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/RestApi/RestApi.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "RestApi.h"
 
 #include <stdlib.h>   // To define "_exit()" under Windows
--- a/Core/RestApi/RestApiOutput.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/RestApi/RestApiOutput.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "RestApiOutput.h"
 
 #include <boost/lexical_cast.hpp>
--- a/Core/RestApi/RestApiPath.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/RestApi/RestApiPath.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "RestApiPath.h"
 
 #include <cassert>
--- a/Core/SQLite/Connection.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/SQLite/Connection.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -34,6 +34,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "Connection.h"
 
 #include <memory>
--- a/Core/SQLite/FunctionContext.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/SQLite/FunctionContext.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -31,6 +31,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "FunctionContext.h"
 
 #include <sqlite3.h>
--- a/Core/SQLite/Statement.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/SQLite/Statement.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -34,6 +34,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "Statement.h"
 
 #include "Connection.h"
--- a/Core/SQLite/StatementId.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/SQLite/StatementId.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -34,6 +34,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "StatementId.h"
 
 #include <string.h>
--- a/Core/SQLite/StatementReference.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/SQLite/StatementReference.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -34,6 +34,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "StatementReference.h"
 
 #include "../OrthancException.h"
--- a/Core/SQLite/Transaction.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/SQLite/Transaction.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -34,6 +34,7 @@
  **/
 
 
+#include "../PrecompiledHeaders.h"
 #include "Transaction.h"
 
 namespace Orthanc
--- a/Core/Toolbox.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/Toolbox.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "PrecompiledHeaders.h"
 #include "Toolbox.h"
 
 #include "OrthancException.h"
--- a/Core/Uuid.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/Core/Uuid.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "PrecompiledHeaders.h"
 #include "Uuid.h"
 
 // http://stackoverflow.com/a/1626302
--- a/NEWS	Thu May 08 17:16:10 2014 +0200
+++ b/NEWS	Mon Jun 02 11:36:07 2014 +0200
@@ -1,6 +1,8 @@
 Pending changes in the mainline
 ===============================
 
+* Precompiled headers for Microsoft Visual Studio
+
 
 Version 0.7.5 (2014/05/08)
 ==========================
--- a/OrthancCppClient/Instance.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancCppClient/Instance.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "Instance.h"
 
 #include "OrthancConnection.h"
--- a/OrthancCppClient/OrthancConnection.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancCppClient/OrthancConnection.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "OrthancConnection.h"
 
 #include "../Core/Toolbox.h"
--- a/OrthancCppClient/Patient.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancCppClient/Patient.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "Patient.h"
 
 #include "OrthancConnection.h"
--- a/OrthancCppClient/Series.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancCppClient/Series.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "Series.h"
 
 #include "OrthancConnection.h"
--- a/OrthancCppClient/Study.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancCppClient/Study.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "Study.h"
 
 #include "OrthancConnection.h"
--- a/OrthancServer/DatabaseWrapper.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/DatabaseWrapper.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "DatabaseWrapper.h"
 
 #include "../Core/DicomFormat/DicomArray.h"
--- a/OrthancServer/DicomModification.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/DicomModification.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "DicomModification.h"
 
 #include "../Core/OrthancException.h"
--- a/OrthancServer/DicomProtocol/DicomFindAnswers.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/DicomProtocol/DicomFindAnswers.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "DicomFindAnswers.h"
 
 #include "../FromDcmtkBridge.h"
--- a/OrthancServer/DicomProtocol/DicomServer.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/DicomProtocol/DicomServer.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "DicomServer.h"
 
 #include "../../Core/OrthancException.h"
--- a/OrthancServer/DicomProtocol/DicomUserConnection.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/DicomProtocol/DicomUserConnection.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -78,6 +78,7 @@
 =========================================================================*/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "DicomUserConnection.h"
 
 #include "../../Core/OrthancException.h"
--- a/OrthancServer/DicomProtocol/RemoteModalityParameters.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/DicomProtocol/RemoteModalityParameters.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "RemoteModalityParameters.h"
 
 #include "../../Core/OrthancException.h"
--- a/OrthancServer/DicomProtocol/ReusableDicomUserConnection.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/DicomProtocol/ReusableDicomUserConnection.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "ReusableDicomUserConnection.h"
 
 #include "../../Core/OrthancException.h"
--- a/OrthancServer/FromDcmtkBridge.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/FromDcmtkBridge.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -72,6 +72,8 @@
 =========================================================================*/
 
 
+#include "../Core/PrecompiledHeaders.h"
+
 #ifndef NOMINMAX
 #define NOMINMAX
 #endif
--- a/OrthancServer/Internals/CommandDispatcher.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/Internals/CommandDispatcher.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -79,6 +79,7 @@
 =========================================================================*/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "CommandDispatcher.h"
 
 #include "FindScp.h"
--- a/OrthancServer/Internals/FindScp.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/Internals/FindScp.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -79,6 +79,7 @@
 
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "FindScp.h"
 
 #include "../FromDcmtkBridge.h"
--- a/OrthancServer/Internals/MoveScp.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/Internals/MoveScp.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -79,6 +79,7 @@
 =========================================================================*/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "MoveScp.h"
 
 #include <memory>
--- a/OrthancServer/Internals/StoreScp.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/Internals/StoreScp.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -79,6 +79,7 @@
 =========================================================================*/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "StoreScp.h"
 
 #include "../FromDcmtkBridge.h"
--- a/OrthancServer/OrthancFindRequestHandler.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/OrthancFindRequestHandler.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -29,6 +29,8 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  **/
 
+
+#include "../Core/PrecompiledHeaders.h"
 #include "OrthancFindRequestHandler.h"
 
 #include <glog/logging.h>
--- a/OrthancServer/OrthancInitialization.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/OrthancInitialization.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "OrthancInitialization.h"
 
 #include "../Core/HttpClient.h"
--- a/OrthancServer/OrthancMoveRequestHandler.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/OrthancMoveRequestHandler.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -29,6 +29,8 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  **/
 
+
+#include "../Core/PrecompiledHeaders.h"
 #include "OrthancMoveRequestHandler.h"
 
 #include <glog/logging.h>
--- a/OrthancServer/OrthancPeerParameters.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/OrthancPeerParameters.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "OrthancPeerParameters.h"
 
 #include "../Core/OrthancException.h"
--- a/OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "OrthancRestApi.h"
 
 #include "../DicomModification.h"
--- a/OrthancServer/OrthancRestApi/OrthancRestApi.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/OrthancRestApi/OrthancRestApi.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "OrthancRestApi.h"
 
 #include "../DicomModification.h"
--- a/OrthancServer/OrthancRestApi/OrthancRestArchive.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/OrthancRestApi/OrthancRestArchive.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "OrthancRestApi.h"
 
 #include "../../Core/Compression/HierarchicalZipWriter.h"
--- a/OrthancServer/OrthancRestApi/OrthancRestChanges.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/OrthancRestApi/OrthancRestChanges.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "OrthancRestApi.h"
 
 #include <glog/logging.h>
--- a/OrthancServer/OrthancRestApi/OrthancRestModalities.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/OrthancRestApi/OrthancRestModalities.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "OrthancRestApi.h"
 
 #include "../OrthancInitialization.h"
--- a/OrthancServer/OrthancRestApi/OrthancRestResources.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/OrthancRestApi/OrthancRestResources.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "OrthancRestApi.h"
 
 #include "../ServerToolbox.h"
--- a/OrthancServer/OrthancRestApi/OrthancRestSystem.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/OrthancRestApi/OrthancRestSystem.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../../Core/PrecompiledHeaders.h"
 #include "OrthancRestApi.h"
 
 #include "../OrthancInitialization.h"
--- a/OrthancServer/ParsedDicomFile.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/ParsedDicomFile.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -72,6 +72,8 @@
 =========================================================================*/
 
 
+#include "../Core/PrecompiledHeaders.h"
+
 #ifndef NOMINMAX
 #define NOMINMAX
 #endif
--- a/OrthancServer/ServerContext.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/ServerContext.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "ServerContext.h"
 
 #include "../Core/HttpServer/FilesystemHttpSender.h"
--- a/OrthancServer/ServerEnumerations.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/ServerEnumerations.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -29,6 +29,8 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  **/
 
+
+#include "../Core/PrecompiledHeaders.h"
 #include "ServerEnumerations.h"
 
 #include "../Core/OrthancException.h"
--- a/OrthancServer/ServerIndex.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/ServerIndex.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "ServerIndex.h"
 
 #ifndef NOMINMAX
--- a/OrthancServer/ServerToolbox.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/ServerToolbox.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "ServerToolbox.h"
 
 #include "../Core/OrthancException.h"
--- a/OrthancServer/ToDcmtkBridge.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/ToDcmtkBridge.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "ToDcmtkBridge.h"
 
 #include <memory>
--- a/OrthancServer/main.cpp	Thu May 08 17:16:10 2014 +0200
+++ b/OrthancServer/main.cpp	Mon Jun 02 11:36:07 2014 +0200
@@ -30,6 +30,7 @@
  **/
 
 
+#include "../Core/PrecompiledHeaders.h"
 #include "OrthancRestApi/OrthancRestApi.h"
 
 #include <fstream>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/CMake/VisualStudioPrecompiledHeaders.cmake	Mon Jun 02 11:36:07 2014 +0200
@@ -0,0 +1,14 @@
+macro(ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS PrecompiledHeaders PrecompiledSource Sources)
+  get_filename_component(PrecompiledBasename ${PrecompiledHeaders} NAME_WE)
+  set(PrecompiledBinary "${CMAKE_CURRENT_BINARY_DIR}/${PrecompiledBasename}.pch")
+
+  set_source_files_properties(${PrecompiledSource}
+    PROPERTIES COMPILE_FLAGS "/Yc\"${PrecompiledHeaders}\" /Fp\"${PrecompiledBinary}\""
+    OBJECT_OUTPUTS "${PrecompiledBinary}")
+
+  set_source_files_properties(${${Sources}}
+    PROPERTIES COMPILE_FLAGS "/Yu\"${PrecompiledHeaders}\" /FI\"${PrecompiledHeaders}\" /Fp\"${PrecompiledBinary}\""
+    OBJECT_DEPENDS "${PrecompiledBinary}")  
+
+  add_definitions(-DORTHANC_USE_PRECOMPILED_HEADERS=1)
+endmacro()