Merge topic 'vs2013_toolset_14369'
3064f80 VS: Generate ToolsVersion matching each VS version
This commit is contained in:
commit
4d5d8df0cd
@ -81,6 +81,9 @@ public:
|
||||
|
||||
void PathTooLong(cmTarget* target, cmSourceFile* sf,
|
||||
std::string const& sfRel);
|
||||
|
||||
virtual const char* GetToolsVersion() { return "4.0"; }
|
||||
|
||||
protected:
|
||||
virtual const char* GetIDEVersion() { return "10.0"; }
|
||||
|
||||
|
@ -31,6 +31,11 @@ public:
|
||||
|
||||
/** TODO: VS 12 user macro support. */
|
||||
virtual std::string GetUserMacrosDirectory() { return ""; }
|
||||
|
||||
//in Visual Studio 2013 they detached the MSBuild tools version
|
||||
//from the .Net Framework version and instead made it have it's own
|
||||
//version number
|
||||
virtual const char* GetToolsVersion() { return "12.0"; }
|
||||
protected:
|
||||
virtual const char* GetIDEVersion() { return "12.0"; }
|
||||
private:
|
||||
|
@ -216,12 +216,16 @@ void cmVisualStudio10TargetGenerator::Generate()
|
||||
// Write the encoding header into the file
|
||||
char magic[] = {0xEF,0xBB, 0xBF};
|
||||
this->BuildFileStream->write(magic, 3);
|
||||
this->WriteString("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",0);
|
||||
this->WriteString("<Project DefaultTargets=\"Build\" "
|
||||
"ToolsVersion=\"4.0\" "
|
||||
"xmlns=\"http://schemas.microsoft.com/"
|
||||
"developer/msbuild/2003\">\n",
|
||||
0);
|
||||
|
||||
//get the tools version to use
|
||||
const std::string toolsVer(this->GlobalGenerator->GetToolsVersion());
|
||||
std::string project_defaults="<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
|
||||
project_defaults.append("<Project DefaultTargets=\"Build\" ToolsVersion=\"");
|
||||
project_defaults.append(toolsVer +"\" ");
|
||||
project_defaults.append(
|
||||
"xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n");
|
||||
this->WriteString(project_defaults.c_str(),0);
|
||||
|
||||
this->WriteProjectConfigurations();
|
||||
this->WriteString("<PropertyGroup Label=\"Globals\">\n", 1);
|
||||
this->WriteString("<ProjectGUID>", 2);
|
||||
@ -716,12 +720,16 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
|
||||
fout.write(magic, 3);
|
||||
cmGeneratedFileStream* save = this->BuildFileStream;
|
||||
this->BuildFileStream = & fout;
|
||||
this->WriteString("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
|
||||
"<Project "
|
||||
"ToolsVersion=\"4.0\" "
|
||||
"xmlns=\"http://schemas.microsoft.com/"
|
||||
"developer/msbuild/2003\">\n",
|
||||
0);
|
||||
|
||||
//get the tools version to use
|
||||
const std::string toolsVer(this->GlobalGenerator->GetToolsVersion());
|
||||
std::string project_defaults="<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
|
||||
project_defaults.append("<Project ToolsVersion=\"");
|
||||
project_defaults.append(toolsVer +"\" ");
|
||||
project_defaults.append(
|
||||
"xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n");
|
||||
this->WriteString(project_defaults.c_str(),0);
|
||||
|
||||
for(ToolSourceMap::const_iterator ti = this->Tools.begin();
|
||||
ti != this->Tools.end(); ++ti)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user