cmake/Source/cmGlobalVisualStudio14Generator.h

52 lines
1.6 KiB
C
Raw Normal View History

2016-10-30 18:24:19 +01:00
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
2015-04-27 22:25:09 +02:00
#ifndef cmGlobalVisualStudio14Generator_h
#define cmGlobalVisualStudio14Generator_h
2017-07-20 19:35:53 +02:00
#include "cmConfigure.h"
2017-04-14 19:02:05 +02:00
#include <iosfwd>
#include <string>
2015-04-27 22:25:09 +02:00
#include "cmGlobalVisualStudio12Generator.h"
2017-04-14 19:02:05 +02:00
class cmGlobalGeneratorFactory;
class cmMakefile;
class cmake;
2015-04-27 22:25:09 +02:00
/** \class cmGlobalVisualStudio14Generator */
2016-07-09 11:21:54 +02:00
class cmGlobalVisualStudio14Generator : public cmGlobalVisualStudio12Generator
2015-04-27 22:25:09 +02:00
{
public:
2015-08-17 11:37:30 +02:00
cmGlobalVisualStudio14Generator(cmake* cm, const std::string& name,
2016-07-09 11:21:54 +02:00
const std::string& platformName);
2015-04-27 22:25:09 +02:00
static cmGlobalGeneratorFactory* NewFactory();
virtual bool MatchesGeneratorName(const std::string& name) const;
virtual void WriteSLNHeader(std::ostream& fout);
virtual const char* GetToolsVersion() { return "14.0"; }
protected:
2015-11-17 17:22:37 +01:00
virtual bool InitializeWindows(cmMakefile* mf);
virtual bool InitializeWindowsStore(cmMakefile* mf);
virtual bool SelectWindowsStoreToolset(std::string& toolset) const;
// These aren't virtual because we need to check if the selected version
// of the toolset is installed
bool IsWindowsStoreToolsetInstalled() const;
2015-04-27 22:25:09 +02:00
virtual const char* GetIDEVersion() { return "14.0"; }
2016-03-13 13:35:51 +01:00
virtual bool SelectWindows10SDK(cmMakefile* mf, bool required);
2015-11-17 17:22:37 +01:00
// Used to verify that the Desktop toolset for the current generator is
// installed on the machine.
virtual bool IsWindowsDesktopToolsetInstalled() const;
std::string GetWindows10SDKVersion();
2015-04-27 22:25:09 +02:00
private:
class Factory;
};
#endif