VS: Switch to internal CMAKE_MAKE_PROGRAM lookup by generators
Drop the "Modules/CMakeVS*FindMake.cmake" files. Override the cmGlobalGenerator::FindMakeProgram method for VS generators to use their internal APIs to locate the build tool. Set the CMAKE_MAKE_PROGRAM as a normal variable for use by project code, but do not cache it. This will allow CMake and CTest to select the proper tool at build time.
This commit is contained in:
parent
5229f2df63
commit
558c74d0ab
|
@ -1,54 +0,0 @@
|
|||
|
||||
#=============================================================================
|
||||
# Copyright 2007-2009 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.)
|
||||
|
||||
# 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 devenv
|
||||
HINTS
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VS;EnvironmentDirectory]
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup;Dbghelp_path]
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio 10.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio10.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio 10/Common7/IDE"
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio10/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio 10.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio10.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio 10/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio10/Common7/IDE"
|
||||
"/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)
|
|
@ -1,53 +0,0 @@
|
|||
|
||||
#=============================================================================
|
||||
# Copyright 2007-2011 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.)
|
||||
|
||||
# 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 devenv
|
||||
HINTS
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VS;EnvironmentDirectory]
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup;Dbghelp_path]
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio 11.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio11.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio 11/Common7/IDE"
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio11/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio 11.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio11.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio 11/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio11/Common7/IDE"
|
||||
"/Program Files/Microsoft Visual Studio 11.0/Common7/IDE/"
|
||||
"/Program Files/Microsoft Visual Studio 11/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.
|
||||
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]/"
|
||||
"$ENV{SYSTEMROOT}/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\11.0;CLR Version]/")
|
||||
endif()
|
||||
|
||||
mark_as_advanced(CMAKE_MAKE_PROGRAM)
|
||||
set(MSVC11 1)
|
||||
set(MSVC_VERSION 1700)
|
|
@ -1,27 +0,0 @@
|
|||
|
||||
#=============================================================================
|
||||
# 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)
|
|
@ -1,25 +0,0 @@
|
|||
|
||||
#=============================================================================
|
||||
# Copyright 2002-2009 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.)
|
||||
|
||||
find_program(CMAKE_MAKE_PROGRAM
|
||||
NAMES msdev
|
||||
PATHS
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\6.0\\Setup;VsCommonDir]/MSDev98/Bin
|
||||
"c:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin"
|
||||
"c:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin"
|
||||
"/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin"
|
||||
)
|
||||
mark_as_advanced(CMAKE_MAKE_PROGRAM)
|
||||
set(MSVC60 1)
|
||||
set(MSVC_VERSION 1200)
|
|
@ -1,26 +0,0 @@
|
|||
|
||||
#=============================================================================
|
||||
# Copyright 2003-2009 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.)
|
||||
|
||||
find_program(CMAKE_MAKE_PROGRAM
|
||||
NAMES devenv
|
||||
PATHS
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1\\Setup\\VS;EnvironmentDirectory]
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio .NET/Common7/IDE"
|
||||
"c:/Program Files/Microsoft Visual Studio .NET/Common7/IDE"
|
||||
"c:/Program Files/Microsoft Visual Studio.NET/Common7/IDE"
|
||||
"/Program Files/Microsoft Visual Studio .NET/Common7/IDE/"
|
||||
)
|
||||
mark_as_advanced(CMAKE_MAKE_PROGRAM)
|
||||
set(MSVC71 1)
|
||||
set(MSVC_VERSION 1310)
|
|
@ -1,25 +0,0 @@
|
|||
|
||||
#=============================================================================
|
||||
# Copyright 2002-2009 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.)
|
||||
|
||||
find_program(CMAKE_MAKE_PROGRAM
|
||||
NAMES devenv
|
||||
PATHS
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.0\\Setup\\VS;EnvironmentDirectory]
|
||||
"c:/Program Files/Microsoft Visual Studio .NET/Common7/IDE"
|
||||
"c:/Program Files/Microsoft Visual Studio.NET/Common7/IDE"
|
||||
"/Program Files/Microsoft Visual Studio .NET/Common7/IDE/"
|
||||
)
|
||||
mark_as_advanced(CMAKE_MAKE_PROGRAM)
|
||||
set(MSVC70 1)
|
||||
set(MSVC_VERSION 1300)
|
|
@ -1,34 +0,0 @@
|
|||
|
||||
#=============================================================================
|
||||
# Copyright 2004-2009 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.)
|
||||
|
||||
# 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()
|
||||
|
||||
find_program(CMAKE_MAKE_PROGRAM
|
||||
NAMES ${_CMAKE_MAKE_PROGRAM_NAMES}
|
||||
HINTS
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VS;EnvironmentDirectory]
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup;Dbghelp_path]
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio 8/Common7/IDE"
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio8/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio 8/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio8/Common7/IDE"
|
||||
"/Program Files/Microsoft Visual Studio 8/Common7/IDE/"
|
||||
)
|
||||
mark_as_advanced(CMAKE_MAKE_PROGRAM)
|
||||
set(MSVC80 1)
|
||||
set(MSVC_VERSION 1400)
|
|
@ -1,39 +0,0 @@
|
|||
|
||||
#=============================================================================
|
||||
# Copyright 2007-2009 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.)
|
||||
|
||||
# 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()
|
||||
|
||||
find_program(CMAKE_MAKE_PROGRAM
|
||||
NAMES ${_CMAKE_MAKE_PROGRAM_NAMES}
|
||||
HINTS
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0\\Setup\\VS;EnvironmentDirectory]
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0\\Setup;Dbghelp_path]
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio 9.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio9.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio 9/Common7/IDE"
|
||||
"$ENV{ProgramFiles}/Microsoft Visual Studio9/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio 9.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio9.0/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio 9/Common7/IDE"
|
||||
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio9/Common7/IDE"
|
||||
"/Program Files/Microsoft Visual Studio 9.0/Common7/IDE/"
|
||||
"/Program Files/Microsoft Visual Studio 9/Common7/IDE/"
|
||||
)
|
||||
mark_as_advanced(CMAKE_MAKE_PROGRAM)
|
||||
set(MSVC90 1)
|
||||
set(MSVC_VERSION 1500)
|
|
@ -203,7 +203,7 @@ public:
|
|||
/*
|
||||
* Determine what program to use for building the project.
|
||||
*/
|
||||
void FindMakeProgram(cmMakefile*);
|
||||
virtual void FindMakeProgram(cmMakefile*);
|
||||
|
||||
///! Find a target by name by searching the local generators.
|
||||
cmTarget* FindTarget(const char* project, const char* name,
|
||||
|
|
|
@ -92,7 +92,6 @@ cmGlobalVisualStudio10Generator::cmGlobalVisualStudio10Generator(
|
|||
: cmGlobalVisualStudio8Generator(name, platformName,
|
||||
additionalPlatformDefinition)
|
||||
{
|
||||
this->FindMakeProgramFile = "CMakeVS10FindMake.cmake";
|
||||
std::string vc10Express;
|
||||
this->ExpressEdition = cmSystemTools::ReadRegistryValue(
|
||||
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\10.0\\Setup\\VC;"
|
||||
|
|
|
@ -118,5 +118,6 @@ private:
|
|||
bool MSBuildCommandInitialized;
|
||||
virtual std::string FindMSBuildCommand();
|
||||
virtual std::string FindDevEnvCommand();
|
||||
virtual std::string GetVSMakeProgram() { return this->GetMSBuildCommand(); }
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -112,7 +112,6 @@ cmGlobalVisualStudio11Generator::cmGlobalVisualStudio11Generator(
|
|||
: cmGlobalVisualStudio10Generator(name, platformName,
|
||||
additionalPlatformDefinition)
|
||||
{
|
||||
this->FindMakeProgramFile = "CMakeVS11FindMake.cmake";
|
||||
std::string vc11Express;
|
||||
this->ExpressEdition = cmSystemTools::ReadRegistryValue(
|
||||
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\11.0\\Setup\\VC;"
|
||||
|
|
|
@ -87,7 +87,6 @@ cmGlobalVisualStudio12Generator::cmGlobalVisualStudio12Generator(
|
|||
: cmGlobalVisualStudio11Generator(name, platformName,
|
||||
additionalPlatformDefinition)
|
||||
{
|
||||
this->FindMakeProgramFile = "CMakeVS12FindMake.cmake";
|
||||
std::string vc12Express;
|
||||
this->ExpressEdition = cmSystemTools::ReadRegistryValue(
|
||||
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\12.0\\Setup\\VC;"
|
||||
|
|
|
@ -32,7 +32,6 @@ std::string GetVS6TargetName(const std::string& targetName)
|
|||
|
||||
cmGlobalVisualStudio6Generator::cmGlobalVisualStudio6Generator()
|
||||
{
|
||||
this->FindMakeProgramFile = "CMakeVS6FindMake.cmake";
|
||||
this->MSDevCommandInitialized = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -92,6 +92,7 @@ public:
|
|||
protected:
|
||||
virtual const char* GetIDEVersion() { return "6.0"; }
|
||||
private:
|
||||
virtual std::string GetVSMakeProgram() { return this->GetMSDevCommand(); }
|
||||
void GenerateConfigurations(cmMakefile* mf);
|
||||
void WriteDSWFile(std::ostream& fout);
|
||||
void WriteDSWHeader(std::ostream& fout);
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
cmGlobalVisualStudio71Generator::cmGlobalVisualStudio71Generator(
|
||||
const char* platformName) : cmGlobalVisualStudio7Generator(platformName)
|
||||
{
|
||||
this->FindMakeProgramFile = "CMakeVS71FindMake.cmake";
|
||||
this->ProjectConfigurationSectionName = "ProjectConfiguration";
|
||||
}
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
cmGlobalVisualStudio7Generator::cmGlobalVisualStudio7Generator(
|
||||
const char* platformName)
|
||||
{
|
||||
this->FindMakeProgramFile = "CMakeVS7FindMake.cmake";
|
||||
this->IntelProjectVersion = 0;
|
||||
this->DevEnvCommandInitialized = false;
|
||||
|
||||
|
|
|
@ -173,6 +173,7 @@ private:
|
|||
char* IntelProjectVersion;
|
||||
std::string DevEnvCommand;
|
||||
bool DevEnvCommandInitialized;
|
||||
virtual std::string GetVSMakeProgram() { return this->GetDevEnvCommand(); }
|
||||
};
|
||||
|
||||
#define CMAKE_CHECK_BUILD_SYSTEM_TARGET "ZERO_CHECK"
|
||||
|
|
|
@ -94,7 +94,6 @@ cmGlobalVisualStudio8Generator::cmGlobalVisualStudio8Generator(
|
|||
const char* additionalPlatformDefinition)
|
||||
: cmGlobalVisualStudio71Generator(platformName)
|
||||
{
|
||||
this->FindMakeProgramFile = "CMakeVS8FindMake.cmake";
|
||||
this->ProjectConfigurationSectionName = "ProjectConfigurationPlatforms";
|
||||
this->Name = name;
|
||||
|
||||
|
|
|
@ -101,7 +101,6 @@ cmGlobalVisualStudio9Generator::cmGlobalVisualStudio9Generator(
|
|||
: cmGlobalVisualStudio8Generator(name, platformName,
|
||||
additionalPlatformDefinition)
|
||||
{
|
||||
this->FindMakeProgramFile = "CMakeVS9FindMake.cmake";
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
|
|
@ -499,6 +499,19 @@ void cmGlobalVisualStudioGenerator::ComputeVSTargetDepends(cmTarget& target)
|
|||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalVisualStudioGenerator::FindMakeProgram(cmMakefile* mf)
|
||||
{
|
||||
// Visual Studio generators know how to lookup their build tool
|
||||
// directly instead of needing a helper module to do it, so we
|
||||
// do not actually need to put CMAKE_MAKE_PROGRAM into the cache.
|
||||
if(cmSystemTools::IsOff(mf->GetDefinition("CMAKE_MAKE_PROGRAM")))
|
||||
{
|
||||
mf->AddDefinition("CMAKE_MAKE_PROGRAM",
|
||||
this->GetVSMakeProgram().c_str());
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalVisualStudioGenerator::AddPlatformDefinitions(cmMakefile* mf)
|
||||
{
|
||||
|
|
|
@ -82,6 +82,8 @@ public:
|
|||
};
|
||||
class OrderedTargetDependSet;
|
||||
|
||||
virtual void FindMakeProgram(cmMakefile*);
|
||||
|
||||
protected:
|
||||
// Does this VS version link targets to each other if there are
|
||||
// dependencies in the SLN file? This was done for VS versions
|
||||
|
@ -107,6 +109,7 @@ protected:
|
|||
const char* AdditionalPlatformDefinition;
|
||||
|
||||
private:
|
||||
virtual std::string GetVSMakeProgram() = 0;
|
||||
void PrintCompilerAdvice(std::ostream&, std::string, const char*) {}
|
||||
void ComputeTargetObjects(cmGeneratorTarget* gt) const;
|
||||
|
||||
|
|
Loading…
Reference in New Issue