diff options
author | Brad King <brad.king@kitware.com> | 2015-09-16 14:24:16 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-09-17 14:21:32 (GMT) |
commit | e134e53b47fc9f0337529ce2b6851cec6319a8af (patch) | |
tree | a712dc8248b379139ca900a531f7a37bddc44057 /Source/cmLocalVisualStudio7Generator.cxx | |
parent | da00be6359055ffdb2067a9ec1e817eb782ad145 (diff) | |
download | CMake-e134e53b47fc9f0337529ce2b6851cec6319a8af.zip CMake-e134e53b47fc9f0337529ce2b6851cec6319a8af.tar.gz CMake-e134e53b47fc9f0337529ce2b6851cec6319a8af.tar.bz2 |
Add support for *.manifest source files with MSVC tools
Classify .manifest sources separately, add dependencies on them, and
pass them to the MS manifest tool to merge with linker-generated
manifest files.
Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
Diffstat (limited to 'Source/cmLocalVisualStudio7Generator.cxx')
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 191f739..a4bce8a 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -984,6 +984,20 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout, "\t\t\t<Tool\n" "\t\t\t\tName=\"" << manifestTool << "\""; + std::vector<cmSourceFile const*> manifest_srcs; + gt->GetManifests(manifest_srcs, configName); + if (!manifest_srcs.empty()) + { + fout << "\n\t\t\t\tAdditionalManifestFiles=\""; + for (std::vector<cmSourceFile const*>::const_iterator + mi = manifest_srcs.begin(); mi != manifest_srcs.end(); ++mi) + { + std::string m = (*mi)->GetFullPath(); + fout << this->ConvertToXMLOutputPath(m.c_str()) << ";"; + } + fout << "\""; + } + // Check if we need the FAT32 workaround. // Check the filesystem type where the target will be written. if (cmLVS6G_IsFAT(target.GetDirectory(configName).c_str())) |