aboutsummaryrefslogtreecommitdiff
path: root/src/tools/msvc/Project.pm
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/msvc/Project.pm')
-rw-r--r--src/tools/msvc/Project.pm13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm
index 362611114a0..437940c2747 100644
--- a/src/tools/msvc/Project.pm
+++ b/src/tools/msvc/Project.pm
@@ -23,7 +23,8 @@ sub new {
includes => '',
defines => ';',
solution => $solution,
- disablewarnings => '4018;4244;4273',
+ disablewarnings => '4018;4244;4273;4102',
+ disablelinkerwarnings => ''
};
bless $self;
@@ -242,6 +243,13 @@ sub AddResourceFile {
$self->AddFile("$dir\\win32ver.rc");
}
+sub DisableLinkerWarnings {
+ my ($self, $warnings) = @_;
+
+ $self->{disablelinkerwarnings} .= ';' unless ($self->{disablelinkerwarnings} eq '');
+ $self->{disablelinkerwarnings} .= $warnings;
+}
+
sub Save {
my ($self) = @_;
@@ -390,6 +398,9 @@ EOF
GenerateMapFile="FALSE" MapFileName=".\\$cfgname\\$self->{name}\\$self->{name}.map"
SubSystem="1" TargetMachine="1"
EOF
+ if ($self->{disablelinkerwarnings}) {
+ print $f "\t\tAdditionalOptions=\"/ignore:$self->{disablelinkerwarnings}\"\n";
+ }
if ($self->{implib}) {
my $l = $self->{implib};
$l =~ s/__CFGNAME__/$cfgname/g;