summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeVS12FindMake.cmake
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 /Modules/CMakeVS12FindMake.cmake
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 'Modules/CMakeVS12FindMake.cmake')
-rw-r--r--Modules/CMakeVS12FindMake.cmake27
1 files changed, 27 insertions, 0 deletions
diff --git a/Modules/CMakeVS12FindMake.cmake b/Modules/CMakeVS12FindMake.cmake
new file mode 100644
index 0000000..338d9a2
--- /dev/null
+++ b/Modules/CMakeVS12FindMake.cmake
@@ -0,0 +1,27 @@
+
+#=============================================================================
+# Copyright 2007-2013 Kitware, Inc.
+#
+# 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.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# Always use MSBuild because:
+# - devenv treats command-line builds as recently-loaded projects in the IDE
+# - devenv does not appear to support non-standard platform toolsets
+# If we need devenv for Intel Fortran in the future we should add
+# a special case when Fortran is enabled.
+find_program(CMAKE_MAKE_PROGRAM
+ NAMES MSBuild
+ HINTS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSBuild\\ToolsVersions\\12.0;MSBuildToolsPath]"
+ )
+
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
+set(MSVC12 1)
+set(MSVC_VERSION 1800)