diff options
author | Brad King <brad.king@kitware.com> | 2013-06-28 20:28:53 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-06-28 22:13:59 (GMT) |
commit | e99d7b1c1f9b488b2f6dcf34a4f6c8e8f118b0a7 (patch) | |
tree | 3cd87267e58c62f49e563e331c0bf37d5e881b81 /Source/cmVisualStudio10TargetGenerator.cxx | |
parent | 77ac9b8b9c56927617aeaabe01b5e8d22eaf4858 (diff) | |
download | CMake-e99d7b1c1f9b488b2f6dcf34a4f6c8e8f118b0a7.zip CMake-e99d7b1c1f9b488b2f6dcf34a4f6c8e8f118b0a7.tar.gz CMake-e99d7b1c1f9b488b2f6dcf34a4f6c8e8f118b0a7.tar.bz2 |
VS12: Generate flag tables from MSBuild v120 tool files
Run cmparseMSBuildXML.py on cl.xml, lib.xml, and link.xml to generate
our flag tables:
python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/v120/1033/cl.xml" > cmVS12CLFlagTable.h
python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/v120/1033/lib.xml" > cmVS12LibFlagTable.h
python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/v120/1033/link.xml" > cmVS12LinkFlagTable.h
Fix up the declaration names at the top of each file. Finally, teach
cmVisualStudio10TargetGenerator to select the version of the table
matching the version of VS.
Diffstat (limited to 'Source/cmVisualStudio10TargetGenerator.cxx')
-rw-r--r-- | Source/cmVisualStudio10TargetGenerator.cxx | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 1cb9f23..9cfb370 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -25,31 +25,43 @@ #include "cmVS11CLFlagTable.h" #include "cmVS11LinkFlagTable.h" #include "cmVS11LibFlagTable.h" +#include "cmVS12CLFlagTable.h" +#include "cmVS12LinkFlagTable.h" +#include "cmVS12LibFlagTable.h" #include <cmsys/auto_ptr.hxx> static cmVS7FlagTable const* cmVSGetCLFlagTable(cmLocalVisualStudioGenerator* lg) { - if(lg->GetVersion() >= cmLocalVisualStudioGenerator::VS11) + if(lg->GetVersion() >= cmLocalVisualStudioGenerator::VS12) + { return cmVS12CLFlagTable; } + else if(lg->GetVersion() == cmLocalVisualStudioGenerator::VS11) { return cmVS11CLFlagTable; } - return cmVS10CLFlagTable; + else + { return cmVS10CLFlagTable; } } static cmVS7FlagTable const* cmVSGetLibFlagTable(cmLocalVisualStudioGenerator* lg) { - if(lg->GetVersion() >= cmLocalVisualStudioGenerator::VS11) + if(lg->GetVersion() >= cmLocalVisualStudioGenerator::VS12) + { return cmVS12LibFlagTable; } + else if(lg->GetVersion() == cmLocalVisualStudioGenerator::VS11) { return cmVS11LibFlagTable; } - return cmVS10LibFlagTable; + else + { return cmVS10LibFlagTable; } } static cmVS7FlagTable const* cmVSGetLinkFlagTable(cmLocalVisualStudioGenerator* lg) { - if(lg->GetVersion() >= cmLocalVisualStudioGenerator::VS11) + if(lg->GetVersion() >= cmLocalVisualStudioGenerator::VS12) + { return cmVS12LinkFlagTable; } + else if(lg->GetVersion() == cmLocalVisualStudioGenerator::VS11) { return cmVS11LinkFlagTable; } - return cmVS10LinkFlagTable; + else + { return cmVS10LinkFlagTable; } } static std::string cmVS10EscapeXML(std::string arg) |