diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index 08e94ffa576f04878e81b6fab1048dfbbf706eef..d6ab91782c6360fcea13d5dd48d4f92a33fef899 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -323,9 +323,13 @@ sub fetchRegressOpts if ($m =~ /^\s*REGRESS_OPTS\s*=(.*)/m) { - # ignore options that use makefile variables - can't handle those - # ignore anything that isn't an option staring with -- - @opts = grep { $_ !~ /\$\(/ && $_ =~ /^--/ } split(/\s+/, $1); + # Substitute known Makefile variables, then ignore options that retain + # an unhandled variable reference. Ignore anything that isn't an + # option starting with "--". + @opts = grep { + s/\Q$(top_builddir)\E/\"$topdir\"/; + $_ !~ /\$\(/ && $_ =~ /^--/ + } split(/\s+/, $1); } if ($m =~ /^\s*ENCODING\s*=\s*(\S+)/m) {