diff options
author | Brad King <brad.king@kitware.com> | 2016-09-02 20:15:11 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-09-07 19:49:08 (GMT) |
commit | bdc679a8aee4e6b9a8aea795bdbda2341d1e5d08 (patch) | |
tree | f9ade938675a59071bd1efe075cc3ff5ec58f7cf /Source/cmGlobalVisualStudio15Generator.h | |
parent | a8936656faa14b27173f90046fef6259dceaa321 (diff) | |
download | CMake-bdc679a8aee4e6b9a8aea795bdbda2341d1e5d08.zip CMake-bdc679a8aee4e6b9a8aea795bdbda2341d1e5d08.tar.gz CMake-bdc679a8aee4e6b9a8aea795bdbda2341d1e5d08.tar.bz2 |
VS15: Add Visual Studio 15 generator
Call the generator "Visual Studio 15" without any year because the
preview version of VS 15 does not provide a year in the product name.
Copy cmGlobalVisualStudio14Generator to cmGlobalVisualStudio15Generator
and update version numbers accordingly. Add the VS15 enumeration value.
Note that we do not need to add a MSVC15 variable or v150 toolset
because Visual Studio 15 comes with an updated version of the v140
toolset and remains ABI-compatible.
Teach tests VSExternalInclude, RunCMake.GeneratorPlatform, and
RunCMake.GeneratorToolset to treat VS 15 as they do VS 10-14.
Closes: #16143
Diffstat (limited to 'Source/cmGlobalVisualStudio15Generator.h')
-rw-r--r-- | Source/cmGlobalVisualStudio15Generator.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Source/cmGlobalVisualStudio15Generator.h b/Source/cmGlobalVisualStudio15Generator.h new file mode 100644 index 0000000..f673883 --- /dev/null +++ b/Source/cmGlobalVisualStudio15Generator.h @@ -0,0 +1,46 @@ +/*============================================================================ + CMake - Cross Platform Makefile Generator + Copyright 2000-2016 Kitware, Inc., Insight Software Consortium + + Distributed under the OSI-approved BSD License (the "License"); + see accompanying file Copyright.txt for details. + + This software is distributed WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License for more information. +============================================================================*/ +#ifndef cmGlobalVisualStudio15Generator_h +#define cmGlobalVisualStudio15Generator_h + +#include "cmGlobalVisualStudio14Generator.h" + +/** \class cmGlobalVisualStudio15Generator */ +class cmGlobalVisualStudio15Generator : public cmGlobalVisualStudio14Generator +{ +public: + cmGlobalVisualStudio15Generator(cmake* cm, const std::string& name, + const std::string& platformName); + static cmGlobalGeneratorFactory* NewFactory(); + + virtual bool MatchesGeneratorName(const std::string& name) const; + + virtual void WriteSLNHeader(std::ostream& fout); + + virtual const char* GetToolsVersion() { return "15.0"; } +protected: + virtual bool SelectWindowsStoreToolset(std::string& toolset) const; + + virtual const char* GetIDEVersion() { return "15.0"; } + + // Used to verify that the Desktop toolset for the current generator is + // installed on the machine. + virtual bool IsWindowsDesktopToolsetInstalled() const; + + // These aren't virtual because we need to check if the selected version + // of the toolset is installed + bool IsWindowsStoreToolsetInstalled() const; + +private: + class Factory; +}; +#endif |