Explorar o código

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.
Brad King %!s(int64=11) %!d(string=hai) anos
pai
achega
2b3e7b6f94
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      Source/cmVisualStudio10TargetGenerator.cxx

+ 6 - 0
Source/cmVisualStudio10TargetGenerator.cxx

@@ -1277,6 +1277,12 @@ void cmVisualStudio10TargetGenerator::WritePathAndIncrementalLinkOptions()
 
       std::string ext =
         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->BuildFileStream << cmVS10EscapeXML(ext) << "</TargetExt>\n";