[Cmake-commits] CMake branch, next, updated. v2.8.9-586-g2d592ca

Brad King brad.king at kitware.com
Tue Sep 18 14:09:24 EDT 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  2d592ca96317014e1666692a93b0573e3ebf2d1d (commit)
       via  7ee3cee9199e1207813e245b2bca18526d6bd74c (commit)
      from  f5cb882c8d8bb99927d084d69b1c29cfdcb23e03 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2d592ca96317014e1666692a93b0573e3ebf2d1d
commit 2d592ca96317014e1666692a93b0573e3ebf2d1d
Merge: f5cb882 7ee3cee
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 18 14:09:23 2012 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Sep 18 14:09:23 2012 -0400

    Merge topic 'vs11-express' into next
    
    7ee3cee VS11: Add VS 2012 Express support (#13348)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7ee3cee9199e1207813e245b2bca18526d6bd74c
commit 7ee3cee9199e1207813e245b2bca18526d6bd74c
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 18 11:39:34 2012 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 18 14:03:02 2012 -0400

    VS11: Add VS 2012 Express support (#13348)
    
    Use the registry entries that vsvars32.bat uses to detect the location of
    MSBuild.exe in the framework directory.  Invoke MSBuild with the option
    
     /p:VisualStudioVersion=$version
    
    so it knows from which VS version to load the system build rules.  Teach
    cmGlobalVisualStudio11Generator to set its ExpressEdition member using the
    registry.

diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake
index 3df17c7..8e38399 100644
--- a/Modules/CMakeDetermineCompilerId.cmake
+++ b/Modules/CMakeDetermineCompilerId.cmake
@@ -143,7 +143,7 @@ Id flags: ${testflags}
       set(id_toolset "")
     endif()
     if("${CMAKE_MAKE_PROGRAM}" MATCHES "[Mm][Ss][Bb][Uu][Ii][Ll][Dd]")
-      set(build /p:Configuration=Debug /p:Platform=@id_arch@)
+      set(build /p:Configuration=Debug /p:Platform=@id_arch@ /p:VisualStudioVersion=${vs_version}.0)
     elseif("${CMAKE_MAKE_PROGRAM}" MATCHES "[Mm][Ss][Dd][Ee][Vv]")
       set(build /make)
     else()
diff --git a/Modules/CMakeVS11FindMake.cmake b/Modules/CMakeVS11FindMake.cmake
index c55a4c5..2df015d 100644
--- a/Modules/CMakeVS11FindMake.cmake
+++ b/Modules/CMakeVS11FindMake.cmake
@@ -34,15 +34,14 @@ find_program(CMAKE_MAKE_PROGRAM
 
 # if devenv is not found, then use MSBuild.
 # it is expected that if devenv is not found, then we are
-# dealing with Visual Studio Express.  VCExpress has random
-# failures when being run as a command line build tool which
-# causes the compiler checks and try-compile stuff to fail. MSbuild
-# is a better choice for this.  However, VCExpress does not support
-# cross compiling needed for Win CE.
+# dealing with Visual Studio Express.
 if(NOT CMAKE_CROSSCOMPILING)
+  set(_FDIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7;FrameworkDir32]")
+  set(_FVER "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7;FrameworkVer32]")
   find_program(CMAKE_MAKE_PROGRAM
     NAMES MSBuild
     HINTS
+    ${_FDIR}/${_FVER}
     [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VS;ProductDir]
     "$ENV{SYSTEMROOT}/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0;CLR Version]/"
     "c:/WINDOWS/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0;CLR Version]/"
diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx
index d188980..480c577 100644
--- a/Source/cmGlobalVisualStudio10Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Generator.cxx
@@ -205,6 +205,8 @@ std::string cmGlobalVisualStudio10Generator
     {
     makeCommand += "Debug";
     }
+  makeCommand += " /p:VisualStudioVersion=";
+  makeCommand += this->GetIDEVersion();
   if ( additionalOptions )
     {
     makeCommand += " ";
diff --git a/Source/cmGlobalVisualStudio11Generator.cxx b/Source/cmGlobalVisualStudio11Generator.cxx
index 7bb4d0c..23a1204 100644
--- a/Source/cmGlobalVisualStudio11Generator.cxx
+++ b/Source/cmGlobalVisualStudio11Generator.cxx
@@ -17,7 +17,10 @@
 cmGlobalVisualStudio11Generator::cmGlobalVisualStudio11Generator()
 {
   this->FindMakeProgramFile = "CMakeVS11FindMake.cmake";
-  this->ExpressEdition = false; // TODO: VS 11 Express support
+  std::string vc11Express;
+  this->ExpressEdition = cmSystemTools::ReadRegistryValue(
+    "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\11.0\\Setup\\VC;"
+    "ProductDir", vc11Express, cmSystemTools::KeyWOW64_32);
   this->PlatformToolset = "v110";
 }
 

-----------------------------------------------------------------------

Summary of changes:
 Modules/CMakeDetermineCompilerId.cmake     |    2 +-
 Modules/CMakeVS11FindMake.cmake            |    9 ++++-----
 Source/cmGlobalVisualStudio10Generator.cxx |    2 ++
 Source/cmGlobalVisualStudio11Generator.cxx |    5 ++++-
 4 files changed, 11 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list