VS: Fix vcxproj specification of empty output file extension
When a binary output file is to have no extension, the TargetExt element in the vcxproj cannot be left empty because VS will choose a default extension. Instead use "." because the Windows filesystem will treat that as an empty extension.
This commit is contained in:
parent
39af06e7f7
commit
2b3e7b6f94
|
@ -1277,6 +1277,12 @@ void cmVisualStudio10TargetGenerator::WritePathAndIncrementalLinkOptions()
|
||||||
|
|
||||||
std::string ext =
|
std::string ext =
|
||||||
cmSystemTools::GetFilenameLastExtension(targetNameFull);
|
cmSystemTools::GetFilenameLastExtension(targetNameFull);
|
||||||
|
if(ext.empty())
|
||||||
|
{
|
||||||
|
// An empty TargetExt causes a default extension to be used.
|
||||||
|
// A single "." appears to be treated as an empty extension.
|
||||||
|
ext = ".";
|
||||||
|
}
|
||||||
this->WritePlatformConfigTag("TargetExt", config->c_str(), 3);
|
this->WritePlatformConfigTag("TargetExt", config->c_str(), 3);
|
||||||
*this->BuildFileStream << cmVS10EscapeXML(ext) << "</TargetExt>\n";
|
*this->BuildFileStream << cmVS10EscapeXML(ext) << "</TargetExt>\n";
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue