mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 13:20:47 -06:00
Merge topic 'vs-add-package-reference'
42e14d90b1 VS: Added support for VS package references for nuget
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !3389
This commit is contained in:
@@ -665,6 +665,7 @@ void cmVisualStudio10TargetGenerator::Generate()
|
||||
this->WriteCustomCommands(e0);
|
||||
this->WriteAllSources(e0);
|
||||
this->WriteDotNetReferences(e0);
|
||||
this->WritePackageReferences(e0);
|
||||
this->WriteImports(e0);
|
||||
this->WriteEmbeddedResourceGroup(e0);
|
||||
this->WriteXamlFilesGroup(e0);
|
||||
@@ -738,6 +739,33 @@ void cmVisualStudio10TargetGenerator::Generate()
|
||||
this->WriteGroups();
|
||||
}
|
||||
|
||||
void cmVisualStudio10TargetGenerator::WritePackageReferences(Elem& e0)
|
||||
{
|
||||
std::vector<std::string> packageReferences;
|
||||
if (const char* vsPackageReferences =
|
||||
this->GeneratorTarget->GetProperty("VS_PACKAGE_REFERENCES")) {
|
||||
cmSystemTools::ExpandListArgument(vsPackageReferences, packageReferences);
|
||||
}
|
||||
if (!packageReferences.empty()) {
|
||||
Elem e1(e0, "ItemGroup");
|
||||
for (std::string const& ri : packageReferences) {
|
||||
size_t versionIndex = ri.find_last_of('_');
|
||||
if (versionIndex != std::string::npos) {
|
||||
WritePackageReference(e1, ri.substr(0, versionIndex),
|
||||
ri.substr(versionIndex + 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void cmVisualStudio10TargetGenerator::WritePackageReference(
|
||||
Elem& e1, std::string const& ref, std::string const& version)
|
||||
{
|
||||
Elem e2(e1, "PackageReference");
|
||||
e2.Attribute("Include", ref);
|
||||
e2.Attribute("Version", version);
|
||||
}
|
||||
|
||||
void cmVisualStudio10TargetGenerator::WriteDotNetReferences(Elem& e0)
|
||||
{
|
||||
std::vector<std::string> references;
|
||||
|
||||
Reference in New Issue
Block a user