diff options
author | Brad King <brad.king@kitware.com> | 2012-10-26 15:02:42 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2012-10-26 15:02:42 (GMT) |
commit | 035e7bd04ea620c813adcdf402de2c25b6ce7e9c (patch) | |
tree | 7cc67969486451d5b21d72d99dd247b7c84871b4 /Source/cmVisualStudio10TargetGenerator.cxx | |
parent | c65a2ea6a83f274afc52ca6adc457dec069de064 (diff) | |
download | CMake-035e7bd04ea620c813adcdf402de2c25b6ce7e9c.zip CMake-035e7bd04ea620c813adcdf402de2c25b6ce7e9c.tar.gz CMake-035e7bd04ea620c813adcdf402de2c25b6ce7e9c.tar.bz2 |
VS10: Honor /DELAYSIGN and /KEYFILE flags (#13601)
Fix the VS 10 link flag map to name the project file entries correctly.
The VS 11 link flag map already has the correct names. Generate the
entries in the <PropertyGroup> along with incremental linking options.
Drop them from the <Link> element because VS does not use them.
Diffstat (limited to 'Source/cmVisualStudio10TargetGenerator.cxx')
-rw-r--r-- | Source/cmVisualStudio10TargetGenerator.cxx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index db03163..def4133 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -1106,6 +1106,23 @@ OutputLinkIncremental(std::string const& configName) *this->BuildFileStream << (manifest?manifest:"true") << "</GenerateManifest>\n"; linkOptions.RemoveFlag("GenerateManifest"); + + // Some link options belong here. Use them now and remove them so that + // WriteLinkOptions does not use them. + const char* flags[] = { + "LinkDelaySign", + "LinkKeyFile", + 0}; + for(const char** f = flags; *f; ++f) + { + const char* flag = *f; + if(const char* value = linkOptions.GetFlag(flag)) + { + this->WritePlatformConfigTag(flag, configName.c_str(), 3); + *this->BuildFileStream << value << "</" << flag << ">\n"; + linkOptions.RemoveFlag(flag); + } + } } //---------------------------------------------------------------------------- |