git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/2] Make generated MSVC solution file open from Windows Explorer

From
Sebastian Schuberth <sschuberth@gmail.com>
Date
Sep 24, 2009, 14:40 UTC
Message-ID
<4ABB84F4.7080403@gmail.com>
 From c6d29a2d243647bb2877eb2114938ae20c8e56e5 Mon Sep 17 00:00:00 2001
From: Sebastian Schuberth <sschuberth@gmail.com>
Date: Thu, 24 Sep 2009 15:52:25 +0200
Subject: [PATCH 1/2] Make generated MSVC solution file open from Windows Explorer

In order to be able to open the generated solution file by double-clicking it in Windows Explorer, all project files need to use DOS line-endings and a comment about the Visual Studio version needs to be added to the header of the solution file. This also fixes the icon that is displayed for the solution file in Windows Explorer. Note that opening the solution file from a running instance of Visual Studio already worked before.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
---
  contrib/buildsystems/Generators/Vcproj.pm |    5 ++++-
  1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/contrib/buildsystems/Generators/Vcproj.pm b/contrib/buildsystems/Generators/Vcproj.pm
index 00ec0c1..50daa03 100644
--- a/contrib/buildsystems/Generators/Vcproj.pm
+++ b/contrib/buildsystems/Generators/Vcproj.pm
@@ -131,6 +131,7 @@ sub createLibProject {
      $includes =~ s/-I//g;
      mkdir "$target" || die "Could not create the directory $target for lib project!\n";
      open F, ">$target/$target.vcproj" || die "Could not open $target/$target.pro for writing!\n";
+    binmode F, ":crlf";
      print F << "EOM";
  <?xml version="1.0" encoding = "Windows-1252"?>
  <VisualStudioProject
@@ -353,6 +354,7 @@ sub createAppProject {
      $includes =~ s/-I//g;
      mkdir "$target" || die "Could not create the directory $target for lib project!\n";
      open F, ">$target/$target.vcproj" || die "Could not open $target/$target.pro for writing!\n";
+    binmode F, ":crlf";
      print F << "EOM";
  <?xml version="1.0" encoding = "Windows-1252"?>
  <VisualStudioProject
@@ -537,7 +539,7 @@ sub createGlueProject {
      print "Generate solutions file\n";
      $rel_dir = "..\\$rel_dir";
      $rel_dir =~ s/\//\\/g;
-    my $SLN_HEAD = "Microsoft Visual Studio Solution File, Format Version 10.00\n";
+    my $SLN_HEAD = "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\n";
      my $SLN_PRE  = "Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = ";
      my $SLN_POST = "\nEndProject\n";
  
@@ -560,6 +562,7 @@ sub createGlueProject {
      @apps = @tmp;
  
      open F, ">git.sln" || die "Could not open git.sln for writing!\n";
+    binmode F, ":crlf";
      print F "$SLN_HEAD";
      foreach (@libs) {
          my $libname = $_;
-- 
1.6.4.msysgit.0
Next: Shawn O. Pearce
Message 1 of 16 in “Make generated MSVC solution file open from Windows Explorer”
  1. 1/2 Make generated MSVC solution file open from Windows ExplorerSebastian Schuberth, Sep 24, 2009
  2. Shawn O. PearceSep 25, 2009
  3. Alex RiesenSep 25, 2009
  4. Sebastian SchuberthSep 25, 2009
  5. Sebastian SchuberthSep 25, 2009
  6. Shawn O. PearceSep 25, 2009
  7. Sebastian SchuberthSep 25, 2009
  8. Shawn O. PearceSep 26, 2009
  9. Sebastian SchuberthSep 26, 2009
  10. Shawn O. PearceSep 26, 2009
  11. BazSep 28, 2009
  12. Sebastian SchuberthSep 28, 2009
  13. 0/2 MSVC generator fixupsMarius Storm-Olsen, Sep 28, 2009
  14. 1/2 Make generated MSVC solution file open from Windows ExplorerMarius Storm-Olsen, Sep 28, 2009
  15. 2/2 Make just opening the generated MSVC solution file not modify itMarius Storm-Olsen, Sep 28, 2009
  16. Sebastian SchuberthSep 28, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.