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>
Acked-by: Marius Storm-Olsen <mstormo@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
Sebastian Schuberth 2009-09-28 13:34:20 +02:00 коммит произвёл Shawn O. Pearce
Родитель 6f798b9590
Коммит 76031f191e
1 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -131,6 +131,7 @@ sub createLibProject {
$includes =~ s/-I//g; $includes =~ s/-I//g;
mkdir "$target" || die "Could not create the directory $target for lib project!\n"; 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"; open F, ">$target/$target.vcproj" || die "Could not open $target/$target.pro for writing!\n";
binmode F, ":crlf";
print F << "EOM"; print F << "EOM";
<?xml version="1.0" encoding = "Windows-1252"?> <?xml version="1.0" encoding = "Windows-1252"?>
<VisualStudioProject <VisualStudioProject
@ -353,6 +354,7 @@ sub createAppProject {
$includes =~ s/-I//g; $includes =~ s/-I//g;
mkdir "$target" || die "Could not create the directory $target for lib project!\n"; 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"; open F, ">$target/$target.vcproj" || die "Could not open $target/$target.pro for writing!\n";
binmode F, ":crlf";
print F << "EOM"; print F << "EOM";
<?xml version="1.0" encoding = "Windows-1252"?> <?xml version="1.0" encoding = "Windows-1252"?>
<VisualStudioProject <VisualStudioProject
@ -537,7 +539,7 @@ sub createGlueProject {
print "Generate solutions file\n"; print "Generate solutions file\n";
$rel_dir = "..\\$rel_dir"; $rel_dir = "..\\$rel_dir";
$rel_dir =~ s/\//\\/g; $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_PRE = "Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = ";
my $SLN_POST = "\nEndProject\n"; my $SLN_POST = "\nEndProject\n";
@ -560,6 +562,7 @@ sub createGlueProject {
@apps = @tmp; @apps = @tmp;
open F, ">git.sln" || die "Could not open git.sln for writing!\n"; open F, ">git.sln" || die "Could not open git.sln for writing!\n";
binmode F, ":crlf";
print F "$SLN_HEAD"; print F "$SLN_HEAD";
foreach (@libs) { foreach (@libs) {
my $libname = $_; my $libname = $_;