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  8b1021b8bad2d5e06ec7fe3e207c9d1498ba90e2 (commit)
       via  e4201248ce76be40c109b67e68a4e295d709e2dc (commit)
       via  0c55729c133b7b069f27f19d035444032dda75bd (commit)
      from  390474cb8a1771ee605954d6cf3c6d1216be77f9 (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=8b1021b8bad2d5e06ec7fe3e207c9d1498ba90e2
commit 8b1021b8bad2d5e06ec7fe3e207c9d1498ba90e2
Merge: 390474c e420124
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Dec 4 11:16:06 2013 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Wed Dec 4 11:16:06 2013 -0500

    Merge topic 'cleanup-build-commands' into next
    
    e420124 CMakeDetermineCompilerId: Use 
CMAKE_VS_(DEVENV|MSBUILD|MSDEV)_COMMAND
    0c55729 VS: Add CMAKE_VS_(DEVENV|MSBUILD|MSDEV)_COMMAND variables


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e4201248ce76be40c109b67e68a4e295d709e2dc
commit e4201248ce76be40c109b67e68a4e295d709e2dc
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Dec 4 10:36:18 2013 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Dec 4 11:06:44 2013 -0500

    CMakeDetermineCompilerId: Use CMAKE_VS_(DEVENV|MSBUILD|MSDEV)_COMMAND
    
    In the code path for launching the VS IDE tools, avoid using
    CMAKE_MAKE_PROGRAM.  Instead use the variables CMAKE_VS_DEVENV_COMMAND,
    CMAKE_VS_MSBUILD_COMMAND, and CMAKE_VS_MSDEV_COMMAND to lookup the
    location of the build tool needed.  Choose the proper tool based on
    availability and necessity for the language (e.g. Intel Fortran must
    build with devenv.com and not MSBuild.exe).

diff --git a/Modules/CMakeDetermineCompilerId.cmake 
b/Modules/CMakeDetermineCompilerId.cmake
index 7fa4534..93358c7 100644
--- a/Modules/CMakeDetermineCompilerId.cmake
+++ b/Modules/CMakeDetermineCompilerId.cmake
@@ -154,24 +154,33 @@ Id flags: ${testflags}
     else()
       set(id_subsystem 1)
     endif()
-    if("${CMAKE_MAKE_PROGRAM}" MATCHES "[Mm][Ss][Bb][Uu][Ii][Ll][Dd]")
-      set(build /p:Configuration=Debug /p:Platform=@id_platform@ 
/p:VisualStudioVersion=${vs_version}.0)
-    elseif("${CMAKE_MAKE_PROGRAM}" MATCHES "[Mm][Ss][Dd][Ee][Vv]")
-      set(build /make)
-    else()
-      set(build /build Debug)
-    endif()
     set(id_dir ${CMAKE_${lang}_COMPILER_ID_DIR})
     get_filename_component(id_src "${src}" NAME)
     configure_file(${CMAKE_ROOT}/Modules/CompilerId/VS-${v}.${ext}.in
       ${id_dir}/CompilerId${lang}.${ext} @ONLY)
-    execute_process(
-      COMMAND ${CMAKE_MAKE_PROGRAM} CompilerId${lang}.${ext} ${build}
-      WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
-      OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
-      ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
-      RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
-      )
+    if(CMAKE_VS_MSBUILD_COMMAND AND NOT lang STREQUAL "Fortran")
+      set(command "${CMAKE_VS_MSBUILD_COMMAND}" "CompilerId${lang}.${ext}"
+        "/p:Configuration=Debug" "/p:Platform=${id_platform}" 
"/p:VisualStudioVersion=${vs_version}.0"
+        )
+    elseif(CMAKE_VS_DEVENV_COMMAND)
+      set(command "${CMAKE_VS_DEVENV_COMMAND}" "CompilerId${lang}.${ext}" 
"/build" "Debug")
+    elseif(CMAKE_VS_MSDEV_COMMAND)
+      set(command "${CMAKE_VS_MSDEV_COMMAND}" "CompilerId${lang}.${ext}" 
"/make")
+    else()
+      set(command "")
+    endif()
+    if(command)
+      execute_process(
+        COMMAND ${command}
+        WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
+        OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+        ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+        RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
+        )
+    else()
+      set(CMAKE_${lang}_COMPILER_ID_RESULT 1)
+      set(CMAKE_${lang}_COMPILER_ID_OUTPUT "VS environment not known to 
support ${lang}")
+    endif()
     # Match the compiler location line printed out.
     if("${CMAKE_${lang}_COMPILER_ID_OUTPUT}" MATCHES 
"CMAKE_${lang}_COMPILER=([^%\r\n]+)[\r\n]")
       # Strip VS diagnostic output from the end of the line.

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0c55729c133b7b069f27f19d035444032dda75bd
commit 0c55729c133b7b069f27f19d035444032dda75bd
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Dec 4 10:35:04 2013 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Dec 4 11:05:05 2013 -0500

    VS: Add CMAKE_VS_(DEVENV|MSBUILD|MSDEV)_COMMAND variables
    
    Since commit 5f5c92b9 (VS: Add internal APIs to find MSBuild,
    devenv/VCExpress, and msdev, 2013-11-13) the VS generators have
    known how to lookup the locations of their build tools directly.
    Expose this information to CMake language code by defining new
    variables to hold the paths to these tools.

diff --git a/Help/manual/cmake-variables.7.rst 
b/Help/manual/cmake-variables.7.rst
index 59e8064..d1176ad 100644
--- a/Help/manual/cmake-variables.7.rst
+++ b/Help/manual/cmake-variables.7.rst
@@ -65,7 +65,10 @@ Variables that Provide Information
    /variable/CMAKE_TWEAK_VERSION
    /variable/CMAKE_VERBOSE_MAKEFILE
    /variable/CMAKE_VERSION
+   /variable/CMAKE_VS_DEVENV_COMMAND
    /variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
+   /variable/CMAKE_VS_MSBUILD_COMMAND
+   /variable/CMAKE_VS_MSDEV_COMMAND
    /variable/CMAKE_VS_PLATFORM_TOOLSET
    /variable/CMAKE_XCODE_PLATFORM_TOOLSET
    /variable/PROJECT_BINARY_DIR
diff --git a/Help/variable/CMAKE_MAKE_PROGRAM.rst 
b/Help/variable/CMAKE_MAKE_PROGRAM.rst
index 0c851ad..97caa8a 100644
--- a/Help/variable/CMAKE_MAKE_PROGRAM.rst
+++ b/Help/variable/CMAKE_MAKE_PROGRAM.rst
@@ -29,6 +29,10 @@ to configure the project:
 * The Visual Studio generators set this to the full path to
   ``MSBuild.exe`` (VS >= 10), ``devenv.com`` (VS 7,8,9),
   ``VCExpress.exe`` (VS Express 8,9), or ``msdev.exe`` (VS 6).
+  (See also variables
+  :variable:`CMAKE_VS_MSBUILD_COMMAND`,
+  :variable:`CMAKE_VS_DEVENV_COMMAND`, and
+  :variable:`CMAKE_VS_MSDEV_COMMAND`.)
 
   These generators prefer to lookup the build tool at build time
   rather than to store ``CMAKE_MAKE_PROGRAM`` in the CMake cache
diff --git a/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst 
b/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
new file mode 100644
index 0000000..14cc50a
--- /dev/null
+++ b/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
@@ -0,0 +1,14 @@
+CMAKE_VS_DEVENV_COMMAND
+-----------------------
+
+The generators for :generator:`Visual Studio 7` and above set this
+variable to the ``devenv.com`` command installed with the corresponding
+Visual Studio version.  Note that this variable may be empty on
+Visual Studio Express editions because they do not provide this tool.
+
+This variable is not defined by other generators even if ``devenv.com``
+is installed on the computer.
+
+The :variable:`CMAKE_VS_MSBUILD_COMMAND` is also provided for
+:generator:`Visual Studio 10 2010` and above.
+See also the :variable:`CMAKE_MAKE_PROGRAM` variable.
diff --git a/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst 
b/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
new file mode 100644
index 0000000..58f2bef
--- /dev/null
+++ b/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
@@ -0,0 +1,13 @@
+CMAKE_VS_MSBUILD_COMMAND
+------------------------
+
+The generators for :generator:`Visual Studio 10 2010` and above set this
+variable to the ``MSBuild.exe`` command installed with the corresponding
+Visual Studio version.
+
+This variable is not defined by other generators even if ``MSBuild.exe``
+is installed on the computer.
+
+The :variable:`CMAKE_VS_DEVENV_COMMAND` is also provided for the
+non-Express editions of Visual Studio.
+See also the :variable:`CMAKE_MAKE_PROGRAM` variable.
diff --git a/Help/variable/CMAKE_VS_MSDEV_COMMAND.rst 
b/Help/variable/CMAKE_VS_MSDEV_COMMAND.rst
new file mode 100644
index 0000000..718baaf
--- /dev/null
+++ b/Help/variable/CMAKE_VS_MSDEV_COMMAND.rst
@@ -0,0 +1,10 @@
+CMAKE_VS_MSDEV_COMMAND
+----------------------
+
+The :generator:`Visual Studio 6` generator sets this variable to the
+``msdev.exe`` command installed with Visual Studio 6.
+
+This variable is not defined by other generators even if ``msdev.exe``
+is installed on the computer.
+
+See also the :variable:`CMAKE_MAKE_PROGRAM` variable.
diff --git a/Source/cmGlobalVisualStudio10Generator.cxx 
b/Source/cmGlobalVisualStudio10Generator.cxx
index 29401c6..d0fe5d9 100644
--- a/Source/cmGlobalVisualStudio10Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Generator.cxx
@@ -256,6 +256,14 @@ std::string 
cmGlobalVisualStudio10Generator::GetUserMacrosRegKeyBase()
 }
 
 //----------------------------------------------------------------------------
+void cmGlobalVisualStudio10Generator::FindMakeProgram(cmMakefile* mf)
+{
+  this->cmGlobalVisualStudio8Generator::FindMakeProgram(mf);
+  mf->AddDefinition("CMAKE_VS_MSBUILD_COMMAND",
+                    this->GetMSBuildCommand().c_str());
+}
+
+//----------------------------------------------------------------------------
 std::string const& cmGlobalVisualStudio10Generator::GetMSBuildCommand()
 {
   if(!this->MSBuildCommandInitialized)
diff --git a/Source/cmGlobalVisualStudio10Generator.h 
b/Source/cmGlobalVisualStudio10Generator.h
index 66440ea..976d41f 100644
--- a/Source/cmGlobalVisualStudio10Generator.h
+++ b/Source/cmGlobalVisualStudio10Generator.h
@@ -91,6 +91,8 @@ public:
 
   virtual const char* GetToolsVersion() { return "4.0"; }
 
+  virtual void FindMakeProgram(cmMakefile*);
+
 protected:
   virtual const char* GetIDEVersion() { return "10.0"; }
 
diff --git a/Source/cmGlobalVisualStudio6Generator.cxx 
b/Source/cmGlobalVisualStudio6Generator.cxx
index 8651da7..614a79a 100644
--- a/Source/cmGlobalVisualStudio6Generator.cxx
+++ b/Source/cmGlobalVisualStudio6Generator.cxx
@@ -78,6 +78,14 @@ void 
cmGlobalVisualStudio6Generator::GenerateConfigurations(cmMakefile* mf)
 }
 
 //----------------------------------------------------------------------------
+void cmGlobalVisualStudio6Generator::FindMakeProgram(cmMakefile* mf)
+{
+  this->cmGlobalVisualStudioGenerator::FindMakeProgram(mf);
+  mf->AddDefinition("CMAKE_VS_MSDEV_COMMAND",
+                    this->GetMSDevCommand().c_str());
+}
+
+//----------------------------------------------------------------------------
 std::string const& cmGlobalVisualStudio6Generator::GetMSDevCommand()
 {
   if(!this->MSDevCommandInitialized)
diff --git a/Source/cmGlobalVisualStudio6Generator.h 
b/Source/cmGlobalVisualStudio6Generator.h
index 8fe5792..cb6cb8b 100644
--- a/Source/cmGlobalVisualStudio6Generator.h
+++ b/Source/cmGlobalVisualStudio6Generator.h
@@ -89,6 +89,8 @@ public:
   ///! What is the configurations directory variable called?
   virtual const char* GetCMakeCFGIntDir() const { return "$(IntDir)"; }
 
+  virtual void FindMakeProgram(cmMakefile*);
+
 protected:
   virtual const char* GetIDEVersion() { return "6.0"; }
 private:
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx 
b/Source/cmGlobalVisualStudio7Generator.cxx
index 3d939f3..35d7796 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -111,6 +111,14 @@ void cmGlobalVisualStudio7Generator
 }
 
 //----------------------------------------------------------------------------
+void cmGlobalVisualStudio7Generator::FindMakeProgram(cmMakefile* mf)
+{
+  this->cmGlobalVisualStudioGenerator::FindMakeProgram(mf);
+  mf->AddDefinition("CMAKE_VS_DEVENV_COMMAND",
+                    this->GetDevEnvCommand().c_str());
+}
+
+//----------------------------------------------------------------------------
 std::string const& cmGlobalVisualStudio7Generator::GetDevEnvCommand()
 {
   if(!this->DevEnvCommandInitialized)
diff --git a/Source/cmGlobalVisualStudio7Generator.h 
b/Source/cmGlobalVisualStudio7Generator.h
index c7b0081..59e74ba 100644
--- a/Source/cmGlobalVisualStudio7Generator.h
+++ b/Source/cmGlobalVisualStudio7Generator.h
@@ -107,6 +107,8 @@ public:
 
   const char* GetIntelProjectVersion();
 
+  virtual void FindMakeProgram(cmMakefile*);
+
 protected:
   virtual const char* GetIDEVersion() { return "7.0"; }
 

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

Summary of changes:
 Help/manual/cmake-variables.7.rst          |    3 ++
 Help/variable/CMAKE_MAKE_PROGRAM.rst       |    4 +++
 Help/variable/CMAKE_VS_DEVENV_COMMAND.rst  |   14 ++++++++++
 Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst |   13 ++++++++++
 Help/variable/CMAKE_VS_MSDEV_COMMAND.rst   |   10 +++++++
 Modules/CMakeDetermineCompilerId.cmake     |   37 +++++++++++++++++----------
 Source/cmGlobalVisualStudio10Generator.cxx |    8 ++++++
 Source/cmGlobalVisualStudio10Generator.h   |    2 +
 Source/cmGlobalVisualStudio6Generator.cxx  |    8 ++++++
 Source/cmGlobalVisualStudio6Generator.h    |    2 +
 Source/cmGlobalVisualStudio7Generator.cxx  |    8 ++++++
 Source/cmGlobalVisualStudio7Generator.h    |    2 +
 12 files changed, 97 insertions(+), 14 deletions(-)
 create mode 100644 Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
 create mode 100644 Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
 create mode 100644 Help/variable/CMAKE_VS_MSDEV_COMMAND.rst


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits

Reply via email to