mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
Merge topic 'fix-custom-target-with-csharp'
9040df31e2Merge branch 'backport-fix-custom-target-with-csharp'1acd1c2b50CSharp: Fix regression in VS project type selection for custom targeta56edad6d6CSharp: Fix regression in VS project type selection for custom target Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2549
This commit is contained in:
@@ -205,12 +205,11 @@ static bool cmVS10IsTargetsFile(std::string const& path)
|
||||
return cmSystemTools::Strucmp(ext.c_str(), ".targets") == 0;
|
||||
}
|
||||
|
||||
static std::string computeProjectFileExtension(cmGeneratorTarget const* t,
|
||||
const std::string& config)
|
||||
static std::string computeProjectFileExtension(cmGeneratorTarget const* t)
|
||||
{
|
||||
std::string res;
|
||||
res = ".vcxproj";
|
||||
if (t->HasLanguage("CSharp", config)) {
|
||||
if (t->IsCSharpOnly()) {
|
||||
res = ".csproj";
|
||||
}
|
||||
return res;
|
||||
@@ -305,8 +304,8 @@ void cmVisualStudio10TargetGenerator::Generate()
|
||||
this->GeneratorTarget->GetProperty("EXTERNAL_MSPROJECT")) {
|
||||
return;
|
||||
}
|
||||
const std::string ProjectFileExtension = computeProjectFileExtension(
|
||||
this->GeneratorTarget, *this->Configurations.begin());
|
||||
const std::string ProjectFileExtension =
|
||||
computeProjectFileExtension(this->GeneratorTarget);
|
||||
if (ProjectFileExtension == ".vcxproj") {
|
||||
this->ProjectType = vcxproj;
|
||||
this->Managed = false;
|
||||
@@ -1398,8 +1397,7 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
|
||||
std::string path = this->LocalGenerator->GetCurrentBinaryDirectory();
|
||||
path += "/";
|
||||
path += this->Name;
|
||||
path += computeProjectFileExtension(this->GeneratorTarget,
|
||||
*this->Configurations.begin());
|
||||
path += computeProjectFileExtension(this->GeneratorTarget);
|
||||
path += ".filters";
|
||||
cmGeneratedFileStream fout(path);
|
||||
fout.SetCopyIfDifferent(true);
|
||||
@@ -3800,7 +3798,7 @@ void cmVisualStudio10TargetGenerator::WriteProjectReferences(Elem& e0)
|
||||
path = lg->GetCurrentBinaryDirectory();
|
||||
path += "/";
|
||||
path += dt->GetName();
|
||||
path += computeProjectFileExtension(dt, *this->Configurations.begin());
|
||||
path += computeProjectFileExtension(dt);
|
||||
}
|
||||
ConvertToWindowsSlash(path);
|
||||
Elem e2(e1, "ProjectReference");
|
||||
@@ -3826,7 +3824,7 @@ void cmVisualStudio10TargetGenerator::WriteProjectReferences(Elem& e0)
|
||||
}
|
||||
// Workaround for static library C# targets
|
||||
if (referenceNotManaged && dt->GetType() == cmStateEnums::STATIC_LIBRARY) {
|
||||
referenceNotManaged = !dt->HasLanguage("CSharp", "");
|
||||
referenceNotManaged = !dt->IsCSharpOnly();
|
||||
}
|
||||
if (referenceNotManaged) {
|
||||
e2.Element("ReferenceOutputAssembly", "false");
|
||||
|
||||
Reference in New Issue
Block a user