VS: Handle AppxManifest sources explicitly in generator

Teach cmGeneratorTarget to extract .appxmanifest sources separately.
Teach cmVisualStudio10TargetGenerator to write them with the
AppxManifest tool in .vcxproj files.  This will allow us to detect
whether the project provides an application manfiest explicitly.
This commit is contained in:
Gilles Khouzam
2014-08-11 14:08:49 -04:00
committed by Brad King
parent bc373c6d32
commit 23782171ad
3 changed files with 21 additions and 5 deletions

View File

@@ -1022,11 +1022,7 @@ void cmVisualStudio10TargetGenerator::WriteExtraSource(cmSourceFile const* sf)
std::string tool = "None";
std::string shaderType;
std::string const& ext = sf->GetExtension();
if(ext == "appxmanifest")
{
tool = "AppxManifest";
}
else if(ext == "hlsl")
if(ext == "hlsl")
{
tool = "FXCompile";
// Figure out the type of shader compiler to use.
@@ -1221,6 +1217,10 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
}
}
std::vector<cmSourceFile const*> manifestSources;
this->GeneratorTarget->GetAppManifest(manifestSources, "");
this->WriteSources("AppxManifest", manifestSources);
std::vector<cmSourceFile const*> externalObjects;
this->GeneratorTarget->GetExternalObjects(externalObjects, "");
for(std::vector<cmSourceFile const*>::iterator