summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio12Generator.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-06-28 20:12:08 (GMT)
committerBrad King <brad.king@kitware.com>2013-06-28 22:13:14 (GMT)
commit77ac9b8b9c56927617aeaabe01b5e8d22eaf4858 (patch)
tree9b199a18ef3869e92aed15618db630337a0c9cea /Source/cmGlobalVisualStudio12Generator.h
parent5dd8c01429da90a7417b72f17e784cc98f70f57c (diff)
downloadCMake-77ac9b8b9c56927617aeaabe01b5e8d22eaf4858.zip
CMake-77ac9b8b9c56927617aeaabe01b5e8d22eaf4858.tar.gz
CMake-77ac9b8b9c56927617aeaabe01b5e8d22eaf4858.tar.bz2
VS12: Add Visual Studio 12 generator (#14251)
Copy cmGlobalVisualStudio11Generator to cmGlobalVisualStudio12Generator and update version numbers accordingly. Add the VS12 enumeration value. Add module CMakeVS12FindMake to find MSBuild. Look for MSBuild in its now-dedicated Windows Registry entry. Teach the platform module Windows-MSVC to set MSVC12 and document the variable. Teach module InstallRequiredSystemLibraries to look for the VS 12 runtime libraries. Teach tests CheckCompilerRelatedVariables, Preprocess, VSExternalInclude, and RunCMake.GeneratorToolset to treat VS 12 as they do VS 10 and 11. Inspired-by: Minmin Gong <minmin.gong@gmail.com>
Diffstat (limited to 'Source/cmGlobalVisualStudio12Generator.h')
-rw-r--r--Source/cmGlobalVisualStudio12Generator.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/Source/cmGlobalVisualStudio12Generator.h b/Source/cmGlobalVisualStudio12Generator.h
new file mode 100644
index 0000000..5844ee0
--- /dev/null
+++ b/Source/cmGlobalVisualStudio12Generator.h
@@ -0,0 +1,40 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2011 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 cmGlobalVisualStudio12Generator_h
+#define cmGlobalVisualStudio12Generator_h
+
+#include "cmGlobalVisualStudio11Generator.h"
+
+
+/** \class cmGlobalVisualStudio12Generator */
+class cmGlobalVisualStudio12Generator:
+ public cmGlobalVisualStudio11Generator
+{
+public:
+ cmGlobalVisualStudio12Generator(const char* name,
+ const char* architectureId, const char* additionalPlatformDefinition);
+ static cmGlobalGeneratorFactory* NewFactory();
+
+ virtual void WriteSLNHeader(std::ostream& fout);
+
+ ///! create the correct local generator
+ virtual cmLocalGenerator *CreateLocalGenerator();
+
+ /** TODO: VS 12 user macro support. */
+ virtual std::string GetUserMacrosDirectory() { return ""; }
+protected:
+ virtual const char* GetIDEVersion() { return "12.0"; }
+ bool UseFolderProperty();
+private:
+ class Factory;
+};
+#endif