From e5f146edd27e74ea6f37fac385268617c6dfacf9 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 20 Jan 2014 11:08:35 +0100 Subject: [PATCH] Add msvc2tasks.pl for converting MSVC warning logs into .tasks files. Change-Id: Ief673c06f0456fe1055447383c9fbef5a112d69c Reviewed-by: Tobias Hunger --- scripts/msvc2tasks.pl | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 scripts/msvc2tasks.pl diff --git a/scripts/msvc2tasks.pl b/scripts/msvc2tasks.pl new file mode 100644 index 00000000000..b6266dd5266 --- /dev/null +++ b/scripts/msvc2tasks.pl @@ -0,0 +1,27 @@ +#!/usr/bin/perl -w + +=head1 NAME + +msvc2tasks.pl - Convert MSVC warnings into Qt Creator task files. + +=head1 SYNOPSIS + + msvc2tasks.pl < logfile > taskfile + +=cut + +use strict; + +while (my $line = ) { + chomp($line); + # --- extract file name based matching: + # c:\foo.cpp(395) : warning C4800: 'BOOL' : forcing value to bool 'true' or 'false' (performance warning) + if ($line =~ /^([^(]+)\((\d+)\) : warning (C\d+:.*)$/) { + my $fileName = $1; + my $lineNumber = $2; + my $text = $3; + $fileName =~ s|\\|/|g; + $text =~ s|\\|/|g; # Fix file names mentioned in text since tasks file have backslash-escaping. + print $fileName, "\t", $lineNumber, "\twarn\t", $text,"\n"; + } +}