summaryrefslogtreecommitdiffstats
path: root/qmake/generators
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@digia.com>2014-10-22 10:01:29 +0200
committerDavid Schulz <david.schulz@digia.com>2014-10-23 08:04:13 +0200
commit80ebedecf93d9494736448ac65d280c984f300b1 (patch)
treed010d3a73f368f41532b892935adc14d4ca558ec /qmake/generators
parentbf200fc948d89e1a735a8bcca879654028f944d2 (diff)
Run VS custom build step in new environment variable scope.
Task-number: QTBUG-32366 Change-Id: I99161b23e3d323fd88766ebe83c8bbfc1d50944e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'qmake/generators')
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp
index f8e67718f7..74a0a20ea2 100644
--- a/qmake/generators/win32/msvc_objectmodel.cpp
+++ b/qmake/generators/win32/msvc_objectmodel.cpp
@@ -2397,7 +2397,11 @@ bool VCFilter::addExtraCompiler(const VCFilterFile &info)
if (!CustomBuildTool.Description.isEmpty())
CustomBuildTool.Description += ", ";
CustomBuildTool.Description += cmd_name;
+ // Execute custom build steps in an environment variable scope to prevent unwanted
+ // side effects for downstream build steps
+ CustomBuildTool.CommandLine += QLatin1String("setlocal");
CustomBuildTool.CommandLine += VCToolBase::fixCommandLine(cmd.trimmed());
+ CustomBuildTool.CommandLine += QLatin1String("endlocal");
int space = cmd.indexOf(' ');
QFileInfo finf(cmd.left(space));
if (CustomBuildTool.ToolPath.isEmpty())