summaryrefslogtreecommitdiffstats
path: root/Source/cmServerProtocol.h
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2016-11-14 15:54:04 (GMT)
committerBrad King <brad.king@kitware.com>2016-11-14 16:06:37 (GMT)
commit516a2cd3604ccebe9d0e74248ded9fb7b07bac71 (patch)
treecb3ede67dccf84951998ee2af5db4cf3324ad12a /Source/cmServerProtocol.h
parent5cfc2e926af645840c6a0464451af18f08528879 (diff)
downloadCMake-516a2cd3604ccebe9d0e74248ded9fb7b07bac71.zip
CMake-516a2cd3604ccebe9d0e74248ded9fb7b07bac71.tar.gz
CMake-516a2cd3604ccebe9d0e74248ded9fb7b07bac71.tar.bz2
server-mode: Reset GlobalGenerator before configure
This is what cmake-gui also does to avoid CMake crashing on repeated attempts to configure it. Fixes #16423.
Diffstat (limited to 'Source/cmServerProtocol.h')
-rw-r--r--Source/cmServerProtocol.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/Source/cmServerProtocol.h b/Source/cmServerProtocol.h
index 5238d5d..027f145 100644
--- a/Source/cmServerProtocol.h
+++ b/Source/cmServerProtocol.h
@@ -131,4 +131,28 @@ private:
State m_State = STATE_INACTIVE;
bool m_isDirty = false;
+
+ struct GeneratorInformation
+ {
+ public:
+ GeneratorInformation() = default;
+ GeneratorInformation(const std::string& generatorName,
+ const std::string& extraGeneratorName,
+ const std::string& toolset,
+ const std::string& platform,
+ const std::string& sourceDirectory,
+ const std::string& buildDirectory);
+
+ void SetupGenerator(cmake* cm, std::string* errorMessage);
+
+ std::string GeneratorName;
+ std::string ExtraGeneratorName;
+ std::string Toolset;
+ std::string Platform;
+
+ std::string SourceDirectory;
+ std::string BuildDirectory;
+ };
+
+ GeneratorInformation GeneratorInfo;
};