summaryrefslogtreecommitdiffstats
path: root/Source/cmServerProtocol.cxx
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2016-09-09 08:01:46 (GMT)
committerTobias Hunger <tobias.hunger@qt.io>2016-09-29 19:47:05 (GMT)
commit0d96e1932937b866343ae8b52c20e0a8c058f3b2 (patch)
tree24c851e37aff55c8b0abbeaab92542df6a0696ec /Source/cmServerProtocol.cxx
parent5d29506811c5b75ae48e12de6c317f6440874215 (diff)
downloadCMake-0d96e1932937b866343ae8b52c20e0a8c058f3b2.zip
CMake-0d96e1932937b866343ae8b52c20e0a8c058f3b2.tar.gz
CMake-0d96e1932937b866343ae8b52c20e0a8c058f3b2.tar.bz2
server-mode: Add infrastructure to watch the filesystem
Enable the server to watch for filesystem changes. This patch includes * The infrastructure for the file watching * makes that infrastructure available to cmServerProtocols * Resets the filesystemwatchers on "configure"
Diffstat (limited to 'Source/cmServerProtocol.cxx')
-rw-r--r--Source/cmServerProtocol.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/cmServerProtocol.cxx b/Source/cmServerProtocol.cxx
index f083e49..66cd801 100644
--- a/Source/cmServerProtocol.cxx
+++ b/Source/cmServerProtocol.cxx
@@ -4,6 +4,7 @@
#include "cmCacheManager.h"
#include "cmExternalMakefileProjectGenerator.h"
+#include "cmFileMonitor.h"
#include "cmGeneratorTarget.h"
#include "cmGlobalGenerator.h"
#include "cmListFileCache.h"
@@ -214,6 +215,11 @@ bool cmServerProtocol::Activate(cmServer* server,
return result;
}
+cmFileMonitor* cmServerProtocol::FileMonitor() const
+{
+ return this->m_Server ? this->m_Server->FileMonitor() : nullptr;
+}
+
void cmServerProtocol::SendSignal(const std::string& name,
const Json::Value& data) const
{
@@ -862,6 +868,8 @@ cmServerResponse cmServerProtocol1_0::ProcessConfigure(
return request.ReportError("This instance is inactive.");
}
+ FileMonitor()->StopMonitoring();
+
// Make sure the types of cacheArguments matches (if given):
std::vector<std::string> cacheArgs;
bool cacheArgumentsError = false;