зеркало из https://github.com/microsoft/git.git
Make just opening the generated MSVC solution file not modify it
The format of the generated MSVC solution file is fixed in a way that just opening it in Visual Studio and immediately closing it again without performing any modifications does not trigger a prompt to save the solution file. This behavior was caused by several minor incompatibilities between the generated file and what Visual Studio 2008 expected, so Visual Studio transparently fixed the file format, marking it internally as modified. 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:
Родитель
76031f191e
Коммит
e0ab002b50
|
@ -571,45 +571,29 @@ sub createGlueProject {
|
||||||
print F "\"${libname}\", \"${libname}\\${libname}.vcproj\", \"${uuid}\"";
|
print F "\"${libname}\", \"${libname}\\${libname}.vcproj\", \"${uuid}\"";
|
||||||
print F "$SLN_POST";
|
print F "$SLN_POST";
|
||||||
}
|
}
|
||||||
|
my $uuid_libgit = $build_structure{"LIBS_libgit_GUID"};
|
||||||
|
my $uuid_xdiff_lib = $build_structure{"LIBS_xdiff_lib_GUID"};
|
||||||
foreach (@apps) {
|
foreach (@apps) {
|
||||||
my $appname = $_;
|
my $appname = $_;
|
||||||
my $uuid = $build_structure{"APPS_${appname}_GUID"};
|
my $uuid = $build_structure{"APPS_${appname}_GUID"};
|
||||||
print F "$SLN_PRE";
|
print F "$SLN_PRE";
|
||||||
print F "\"${appname}\", \"${appname}\\${appname}.vcproj\", \"${uuid}\"";
|
print F "\"${appname}\", \"${appname}\\${appname}.vcproj\", \"${uuid}\"\n";
|
||||||
|
print F " ProjectSection(ProjectDependencies) = postProject\n";
|
||||||
|
print F " ${uuid_libgit} = ${uuid_libgit}\n";
|
||||||
|
print F " ${uuid_xdiff_lib} = ${uuid_xdiff_lib}\n";
|
||||||
|
print F " EndProjectSection";
|
||||||
print F "$SLN_POST";
|
print F "$SLN_POST";
|
||||||
}
|
}
|
||||||
|
|
||||||
print F << "EOM";
|
print F << "EOM";
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfiguration) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
ConfigName.0 = Debug|Win32
|
Debug|Win32 = Debug|Win32
|
||||||
ConfigName.1 = Release|Win32
|
Release|Win32 = Release|Win32
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectDependencies) = postSolution
|
|
||||||
EOM
|
EOM
|
||||||
foreach (@{$build_structure{"APPS"}}) {
|
|
||||||
my $appname = $_;
|
|
||||||
my $appname_clean = $_;
|
|
||||||
$appname_clean =~ s/\//_/g;
|
|
||||||
$appname_clean =~ s/\.exe//;
|
|
||||||
|
|
||||||
my $uuid = $build_structure{"APPS_${appname_clean}_GUID"};
|
|
||||||
my $dep_index = 0;
|
|
||||||
foreach(@{$build_structure{"APPS_${appname}_LIBS"}}) {
|
|
||||||
my $libname = $_;
|
|
||||||
$libname =~ s/\//_/g;
|
|
||||||
$libname =~ s/\.(a|lib)//;
|
|
||||||
my $libuuid = $build_structure{"LIBS_${libname}_GUID"};
|
|
||||||
if (defined $libuuid) {
|
|
||||||
print F "\t\t${uuid}.${dep_index} = ${libuuid}\n";
|
|
||||||
$dep_index += 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
print F << "EOM";
|
print F << "EOM";
|
||||||
EndGlobalSection
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
GlobalSection(ProjectConfiguration) = postSolution
|
|
||||||
EOM
|
EOM
|
||||||
foreach (@libs) {
|
foreach (@libs) {
|
||||||
my $libname = $_;
|
my $libname = $_;
|
||||||
|
@ -630,10 +614,6 @@ EOM
|
||||||
|
|
||||||
print F << "EOM";
|
print F << "EOM";
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
EndGlobal
|
||||||
EOM
|
EOM
|
||||||
close F;
|
close F;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче