Use MSBuild when devenv is not around, since VCExpress seems broken.
To support Intel Fortran, CMake started using devenv and VCExpress for build tools with VS2010. However, VCExpress does not always work. This change makes CMake use MSBuild when devenv is not found. This should be OK, since Intel Fortran can not be used with VCExpress.
This commit is contained in:
parent
d7184e0e4d
commit
3ca1df8e59
|
@ -12,14 +12,11 @@
|
|||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
# VCExpress does not support cross compiling, which is necessary for Win CE
|
||||
SET( _CMAKE_MAKE_PROGRAM_NAMES devenv)
|
||||
IF(NOT CMAKE_CROSSCOMPILING)
|
||||
SET( _CMAKE_MAKE_PROGRAM_NAMES ${_CMAKE_MAKE_PROGRAM_NAMES} VCExpress)
|
||||
ENDIF(NOT CMAKE_CROSSCOMPILING)
|
||||
|
||||
# Look for devenv as a build program. We need to use this to support
|
||||
# Intel Fortran integration into VS. MSBuild can not be used for that case
|
||||
# since Intel Fortran uses the older devenv file format.
|
||||
FIND_PROGRAM(CMAKE_MAKE_PROGRAM
|
||||
NAMES ${_CMAKE_MAKE_PROGRAM_NAMES}
|
||||
NAMES devenv
|
||||
HINTS
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VS;EnvironmentDirectory]
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup;Dbghelp_path]
|
||||
|
@ -34,6 +31,24 @@ FIND_PROGRAM(CMAKE_MAKE_PROGRAM
|
|||
"/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/"
|
||||
"/Program Files/Microsoft Visual Studio 10/Common7/IDE/"
|
||||
)
|
||||
|
||||
# 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.
|
||||
IF(NOT CMAKE_CROSSCOMPILING)
|
||||
FIND_PROGRAM(CMAKE_MAKE_PROGRAM
|
||||
NAMES MSBuild
|
||||
HINTS
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VS;ProductDir]
|
||||
"$ENV{SYSTEMROOT}/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;CLR Version]/"
|
||||
"c:/WINDOWS/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;CLR Version]/"
|
||||
"$ENV{SYSTEMROOT}/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\10.0;CLR Version]/")
|
||||
ENDIF()
|
||||
|
||||
MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
|
||||
SET(MSVC10 1)
|
||||
SET(MSVC_VERSION 1600)
|
||||
|
|
Loading…
Reference in New Issue