From 85cfc50121b60608b80fef454ffb457f8077c4f3 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Thu, 29 Sep 2011 18:52:57 +0200 Subject: [PATCH] Prepend "L" to MAKEFLAGS for nmake and jom Change-Id: I2a36b0a194cda1907b07155449cd610171cc1df9 Task-Nr: QTCREATORBUG-6167 Reviewed-on: http://codereview.qt-project.org/5814 Reviewed-by: Qt Sanity Bot Reviewed-by: Joerg Bornemann --- src/plugins/qt4projectmanager/makestep.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index e0369b3070c..9a2cabdf739 100644 --- a/src/plugins/qt4projectmanager/makestep.cpp +++ b/src/plugins/qt4projectmanager/makestep.cpp @@ -342,7 +342,6 @@ void MakeStepConfigWidget::updateDetails() ProjectExplorer::ProcessParameters param; param.setMacroExpander(bc->macroExpander()); param.setWorkingDirectory(bc->buildDirectory()); - param.setEnvironment(bc->environment()); QString makeCmd = bc->makeCommand(); if (!m_makeStep->m_makeCmd.isEmpty()) makeCmd = m_makeStep->m_makeCmd; @@ -358,17 +357,25 @@ void MakeStepConfigWidget::updateDetails() if (!bc->defaultMakeTarget().isEmpty()) Utils::QtcProcess::addArg(&args, bc->defaultMakeTarget()); } + + Utils::Environment env = bc->environment(); // -w option enables "Enter"/"Leaving directory" messages, which we need for detecting the // absolute file path // FIXME doing this without the user having a way to override this is rather bad // so we only do it for unix and if the user didn't override the make command // but for now this is the least invasive change + // We also prepend "L" to the MAKEFLAGS, so that nmake / jom are less verbose ProjectExplorer::ToolChain *toolChain = bc->toolChain(); - if (toolChain - && toolChain->targetAbi().binaryFormat() != ProjectExplorer::Abi::PEFormat - && m_makeStep->m_makeCmd.isEmpty()) - Utils::QtcProcess::addArg(&args, QLatin1String("-w")); + if (toolChain && m_makeStep->m_makeCmd.isEmpty()) { + if (toolChain->targetAbi().binaryFormat() != ProjectExplorer::Abi::PEFormat ) + Utils::QtcProcess::addArg(&args, QLatin1String("-w")); + if (toolChain->targetAbi().os() == ProjectExplorer::Abi::WindowsOS + && toolChain->targetAbi().osFlavor() != ProjectExplorer::Abi::WindowsMSysFlavor) { + env.set("MAKEFLAGS", env.value("MAKEFLAGS").prepend("L")); + } + } param.setArguments(args); + param.setEnvironment(env); m_summaryText = param.summaryInWorkdir(displayName()); emit updateSummary(); }