mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 13:20:47 -06:00
Merge topic 'vs11-generator'
3b5256eTeach our tests about special cases for VS 113d5632eAdd Visual Studio 11 generator for x86 and x64 tools
This commit is contained in:
@@ -324,6 +324,10 @@ IF (WIN32)
|
||||
cmGlobalVisualStudio10Win64Generator.cxx
|
||||
cmGlobalVisualStudio10IA64Generator.h
|
||||
cmGlobalVisualStudio10IA64Generator.cxx
|
||||
cmGlobalVisualStudio11Generator.h
|
||||
cmGlobalVisualStudio11Generator.cxx
|
||||
cmGlobalVisualStudio11Win64Generator.h
|
||||
cmGlobalVisualStudio11Win64Generator.cxx
|
||||
cmGlobalVisualStudioGenerator.cxx
|
||||
cmGlobalVisualStudioGenerator.h
|
||||
cmGlobalWatcomWMakeGenerator.cxx
|
||||
|
||||
@@ -79,7 +79,6 @@ protected:
|
||||
virtual const char* GetIDEVersion() { return "10.0"; }
|
||||
|
||||
std::string PlatformToolset;
|
||||
private:
|
||||
bool ExpressEdition;
|
||||
};
|
||||
#endif
|
||||
|
||||
45
Source/cmGlobalVisualStudio11Generator.cxx
Normal file
45
Source/cmGlobalVisualStudio11Generator.cxx
Normal file
@@ -0,0 +1,45 @@
|
||||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2011 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
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.
|
||||
============================================================================*/
|
||||
#include "cmGlobalVisualStudio11Generator.h"
|
||||
#include "cmMakefile.h"
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmGlobalVisualStudio11Generator::cmGlobalVisualStudio11Generator()
|
||||
{
|
||||
this->FindMakeProgramFile = "CMakeVS11FindMake.cmake";
|
||||
this->ExpressEdition = false; // TODO: VS 11 Express support
|
||||
this->PlatformToolset = "v110";
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalVisualStudio11Generator::AddPlatformDefinitions(cmMakefile* mf)
|
||||
{
|
||||
mf->AddDefinition("MSVC11", "1");
|
||||
mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", "X86");
|
||||
mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", "X86");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalVisualStudio11Generator::WriteSLNHeader(std::ostream& fout)
|
||||
{
|
||||
fout << "Microsoft Visual Studio Solution File, Format Version 12.00\n";
|
||||
fout << "# Visual Studio 2011\n";
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalVisualStudio11Generator
|
||||
::GetDocumentation(cmDocumentationEntry& entry) const
|
||||
{
|
||||
entry.Name = this->GetName();
|
||||
entry.Brief = "Generates Visual Studio 11 project files.";
|
||||
entry.Full = "";
|
||||
}
|
||||
43
Source/cmGlobalVisualStudio11Generator.h
Normal file
43
Source/cmGlobalVisualStudio11Generator.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2011 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
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.
|
||||
============================================================================*/
|
||||
#ifndef cmGlobalVisualStudio11Generator_h
|
||||
#define cmGlobalVisualStudio11Generator_h
|
||||
|
||||
#include "cmGlobalVisualStudio10Generator.h"
|
||||
|
||||
|
||||
/** \class cmGlobalVisualStudio11Generator */
|
||||
class cmGlobalVisualStudio11Generator:
|
||||
public cmGlobalVisualStudio10Generator
|
||||
{
|
||||
public:
|
||||
cmGlobalVisualStudio11Generator();
|
||||
static cmGlobalGenerator* New() {
|
||||
return new cmGlobalVisualStudio11Generator; }
|
||||
|
||||
///! Get the name for the generator.
|
||||
virtual const char* GetName() const {
|
||||
return cmGlobalVisualStudio11Generator::GetActualName();}
|
||||
static const char* GetActualName() {return "Visual Studio 11";}
|
||||
virtual void AddPlatformDefinitions(cmMakefile* mf);
|
||||
|
||||
virtual void WriteSLNHeader(std::ostream& fout);
|
||||
|
||||
/** Get the documentation entry for this generator. */
|
||||
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
|
||||
|
||||
/** TODO: VS 11 user macro support. */
|
||||
virtual std::string GetUserMacrosDirectory() { return ""; }
|
||||
protected:
|
||||
virtual const char* GetIDEVersion() { return "11.0"; }
|
||||
};
|
||||
#endif
|
||||
33
Source/cmGlobalVisualStudio11Win64Generator.cxx
Normal file
33
Source/cmGlobalVisualStudio11Win64Generator.cxx
Normal file
@@ -0,0 +1,33 @@
|
||||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2011 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
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.
|
||||
============================================================================*/
|
||||
#include "cmGlobalVisualStudio11Win64Generator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmake.h"
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalVisualStudio11Win64Generator
|
||||
::GetDocumentation(cmDocumentationEntry& entry) const
|
||||
{
|
||||
entry.Name = this->GetName();
|
||||
entry.Brief = "Generates Visual Studio 11 Win64 project files.";
|
||||
entry.Full = "";
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalVisualStudio11Win64Generator
|
||||
::AddPlatformDefinitions(cmMakefile* mf)
|
||||
{
|
||||
this->cmGlobalVisualStudio11Generator::AddPlatformDefinitions(mf);
|
||||
mf->AddDefinition("CMAKE_FORCE_WIN64", "TRUE");
|
||||
mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", "x64");
|
||||
mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", "x64");
|
||||
}
|
||||
37
Source/cmGlobalVisualStudio11Win64Generator.h
Normal file
37
Source/cmGlobalVisualStudio11Win64Generator.h
Normal file
@@ -0,0 +1,37 @@
|
||||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2011 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
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.
|
||||
============================================================================*/
|
||||
#ifndef cmGlobalVisualStudio11Win64Generator_h
|
||||
#define cmGlobalVisualStudio11Win64Generator_h
|
||||
|
||||
#include "cmGlobalVisualStudio11Generator.h"
|
||||
|
||||
class cmGlobalVisualStudio11Win64Generator :
|
||||
public cmGlobalVisualStudio11Generator
|
||||
{
|
||||
public:
|
||||
cmGlobalVisualStudio11Win64Generator() {}
|
||||
static cmGlobalGenerator* New() {
|
||||
return new cmGlobalVisualStudio11Win64Generator; }
|
||||
|
||||
///! Get the name for the generator.
|
||||
virtual const char* GetName() const {
|
||||
return cmGlobalVisualStudio11Win64Generator::GetActualName();}
|
||||
static const char* GetActualName() {return "Visual Studio 11 Win64";}
|
||||
|
||||
virtual const char* GetPlatformName() const {return "x64";}
|
||||
|
||||
/** Get the documentation entry for this generator. */
|
||||
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
|
||||
|
||||
virtual void AddPlatformDefinitions(cmMakefile* mf);
|
||||
};
|
||||
#endif
|
||||
@@ -68,6 +68,8 @@
|
||||
# include "cmGlobalVisualStudio10Generator.h"
|
||||
# include "cmGlobalVisualStudio10IA64Generator.h"
|
||||
# include "cmGlobalVisualStudio10Win64Generator.h"
|
||||
# include "cmGlobalVisualStudio11Generator.h"
|
||||
# include "cmGlobalVisualStudio11Win64Generator.h"
|
||||
# include "cmGlobalVisualStudio8Win64Generator.h"
|
||||
# include "cmGlobalBorlandMakefileGenerator.h"
|
||||
# include "cmGlobalNMakeMakefileGenerator.h"
|
||||
@@ -2580,6 +2582,10 @@ void cmake::AddDefaultGenerators()
|
||||
&cmGlobalVisualStudio10IA64Generator::New;
|
||||
this->Generators[cmGlobalVisualStudio10Win64Generator::GetActualName()] =
|
||||
&cmGlobalVisualStudio10Win64Generator::New;
|
||||
this->Generators[cmGlobalVisualStudio11Generator::GetActualName()] =
|
||||
&cmGlobalVisualStudio11Generator::New;
|
||||
this->Generators[cmGlobalVisualStudio11Win64Generator::GetActualName()] =
|
||||
&cmGlobalVisualStudio11Win64Generator::New;
|
||||
this->Generators[cmGlobalVisualStudio71Generator::GetActualName()] =
|
||||
&cmGlobalVisualStudio71Generator::New;
|
||||
this->Generators[cmGlobalVisualStudio8Generator::GetActualName()] =
|
||||
|
||||
Reference in New Issue
Block a user