From 653c6f284e95a4ed00a2458a0bc37be1fae83ac3 Mon Sep 17 00:00:00 2001
From: Eric Cano <Eric.Cano@cern.ch>
Date: Tue, 10 Nov 2015 09:55:17 +0100
Subject: [PATCH] Added explicit dependencies for header files and replaced
 misplaced include to ensure parallel comilation.

---
 objectstore/CMakeLists.txt      | 19 +++++++++++++++++++
 scheduler/Scheduler.hpp         |  1 -
 scheduler/SchedulerDatabase.hpp |  2 +-
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/objectstore/CMakeLists.txt b/objectstore/CMakeLists.txt
index a3daf3c860..7d985d6a2b 100644
--- a/objectstore/CMakeLists.txt
+++ b/objectstore/CMakeLists.txt
@@ -11,6 +11,25 @@ set (CTAProtoFiles
 
 PROTOBUF_GENERATE_CPP(CTAProtoSources CTAProtoHeaders ${CTAProtoFiles})
 
+set (CTAProtoDependants objectstore/Agent.hpp
+  objectstore/ArchiveToFileRequest.hpp
+  objectstore/CreationLog.hpp
+  objectstore/GenericObject.hpp
+  objectstore/ObjectOps.cpp
+  objectstore/ObjectOps.hpp
+  objectstore/RetrieveToFileRequest.cpp
+  objectstore/RetrieveToFileRequest.hpp
+  objectstore/RootEntry.hpp
+  objectstore/SchedulerGlobalLock.hpp
+  objectstore/Tape.hpp
+  objectstore/TapePool.hpp
+  objectstore/UserIdentity.hpp)
+
+SET_SOURCE_FILES_PROPERTIES(${CTAProtoHeaders} PROPERTIES HEADER_FILE_ONLY TRUE)
+SET_SOURCE_FILES_PROPERTIES(${CTAProtoDependants} 
+  PROPERTIES OBJECT_DEPENDS ${CTAProtoHeaders})
+
+
 add_library (CTAObjectStore
   ${CTAProtoSources}
   RootEntry.cpp
diff --git a/scheduler/Scheduler.hpp b/scheduler/Scheduler.hpp
index 343354f18d..f9686d8153 100644
--- a/scheduler/Scheduler.hpp
+++ b/scheduler/Scheduler.hpp
@@ -20,7 +20,6 @@
 
 #include "common/exception/Exception.hpp"
 #include "scheduler/SchedulerDatabase.hpp"
-#include "objectstore/DriveRegister.hpp"
 
 #include <list>
 #include <map>
diff --git a/scheduler/SchedulerDatabase.hpp b/scheduler/SchedulerDatabase.hpp
index a578bed12d..151ae1c5f4 100644
--- a/scheduler/SchedulerDatabase.hpp
+++ b/scheduler/SchedulerDatabase.hpp
@@ -32,8 +32,8 @@
 #include "common/archiveRoutes/ArchiveRoute.hpp"
 #include "common/remoteFS/RemotePathAndStatus.hpp"
 #include "common/MountControl.hpp"
+#include "common/DriveState.hpp"
 #include "nameserver/NameServerTapeFile.hpp"
-#include "objectstore/DriveRegister.hpp"
 #include "scheduler/MountType.hpp"
 
 namespace cta {
-- 
GitLab