summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-12-04 15:48:46 (GMT)
committerKitware Robot <kwrobot@kitware.com>2017-12-04 15:48:53 (GMT)
commitcaa1c4967a29feee1789a7fc548f5bdf1eb44781 (patch)
treef82ff3f46d5894f23f8fa91dd5f14799a7d10bd1 /Source
parent411397f913d93e988da9bf1b1a4305c55fe78d5f (diff)
parent8e654a37857b7cefabf142b16fe8a6e03b75b5df (diff)
downloadCMake-caa1c4967a29feee1789a7fc548f5bdf1eb44781.zip
CMake-caa1c4967a29feee1789a7fc548f5bdf1eb44781.tar.gz
CMake-caa1c4967a29feee1789a7fc548f5bdf1eb44781.tar.bz2
Merge topic 'csharp_project_without_sources'
8e654a37 VS: Enable generation of CSharp projects without initial .cs files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1521
Diffstat (limited to 'Source')
-rw-r--r--Source/cmVisualStudio10TargetGenerator.cxx16
1 files changed, 10 insertions, 6 deletions
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index caeeeb9..540d877 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -66,11 +66,14 @@ static bool cmVS10IsTargetsFile(std::string const& path)
return cmSystemTools::Strucmp(ext.c_str(), ".targets") == 0;
}
-static std::string computeProjectFileExtension(cmGeneratorTarget const* t)
+static std::string computeProjectFileExtension(cmGeneratorTarget const* t,
+ const std::string& config)
{
std::string res;
res = ".vcxproj";
- if (cmGlobalVisualStudioGenerator::TargetIsCSharpOnly(t)) {
+ std::string lang = t->GetLinkerLanguage(config);
+ if (cmGlobalVisualStudioGenerator::TargetIsCSharpOnly(t) ||
+ lang == "CSharp") {
res = ".csproj";
}
return res;
@@ -199,8 +202,8 @@ void cmVisualStudio10TargetGenerator::Generate()
this->GeneratorTarget->GetProperty("EXTERNAL_MSPROJECT")) {
return;
}
- this->ProjectFileExtension =
- computeProjectFileExtension(this->GeneratorTarget);
+ this->ProjectFileExtension = computeProjectFileExtension(
+ this->GeneratorTarget, *this->Configurations.begin());
if (this->ProjectFileExtension == ".vcxproj") {
this->ProjectType = vcxproj;
this->Managed = false;
@@ -1393,7 +1396,8 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
std::string path = this->LocalGenerator->GetCurrentBinaryDirectory();
path += "/";
path += this->Name;
- path += computeProjectFileExtension(this->GeneratorTarget);
+ path += computeProjectFileExtension(this->GeneratorTarget,
+ *this->Configurations.begin());
path += ".filters";
cmGeneratedFileStream fout(path.c_str());
fout.SetCopyIfDifferent(true);
@@ -3670,7 +3674,7 @@ void cmVisualStudio10TargetGenerator::WriteProjectReferences()
path = lg->GetCurrentBinaryDirectory();
path += "/";
path += dt->GetName();
- path += computeProjectFileExtension(dt);
+ path += computeProjectFileExtension(dt, *this->Configurations.begin());
}
this->ConvertToWindowsSlash(path);
(*this->BuildFileStream) << cmVS10EscapeXML(path) << "\">\n";