Skip to content
Snippets Groups Projects
Commit 4f78b9ff authored by Michael Stürmer's avatar Michael Stürmer Committed by Brad King
Browse files

VS: Add CSharp project uuid and file extension

This is in preparation for adding CSharp language support to the VS
generator.
parent 0de6a404
No related branches found
No related tags found
No related merge requests found
......@@ -159,6 +159,10 @@ void cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
ext = ".vfproj";
project = "Project(\"{6989167D-11E4-40FE-8C1A-2192A86A7E90}\") = \"";
}
if (this->TargetIsCSharpOnly(t)) {
ext = ".csproj";
project = "Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"";
}
const char* targetExt = t->GetProperty("GENERATOR_FILE_NAME_EXT");
if (targetExt) {
ext = targetExt;
......
......@@ -734,6 +734,27 @@ bool cmGlobalVisualStudioGenerator::TargetIsFortranOnly(
return false;
}
bool cmGlobalVisualStudioGenerator::TargetIsCSharpOnly(
cmGeneratorTarget const* gt)
{
// check to see if this is a C# build
std::set<std::string> languages;
{
// Issue diagnostic if the source files depend on the config.
std::vector<cmSourceFile*> sources;
if (!gt->GetConfigCommonSourceFiles(sources)) {
return false;
}
}
gt->GetLanguages(languages, "");
if (languages.size() == 1) {
if (*languages.begin() == "CSharp") {
return true;
}
}
return false;
}
bool cmGlobalVisualStudioGenerator::TargetCompare::operator()(
cmGeneratorTarget const* l, cmGeneratorTarget const* r) const
{
......
......@@ -69,6 +69,9 @@ public:
// return true if target is fortran only
bool TargetIsFortranOnly(const cmGeneratorTarget* gt);
// return true if target is C# only
static bool TargetIsCSharpOnly(cmGeneratorTarget const* gt);
/** Get the top-level registry key for this VS version. */
std::string GetRegistryBase();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment