From 634ab62870d2e1560a601a53a8d684356975e746 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Wed, 21 Nov 2012 12:04:39 +0100 Subject: [PATCH] Fix build issues being empty for non-qmake projects In qmake based projects we override LC_ALL to make sure the parsers do not fail to extract build issues from the compiler output. Do the same for the other build systems. Task-number: QTCREATORBUG-5097 Change-Id: I75830c362a736df42a0500c889c3c42e42b82047 Reviewed-by: Daniel Teske --- src/plugins/autotoolsprojectmanager/makestep.cpp | 6 +++++- src/plugins/cmakeprojectmanager/makestep.cpp | 15 +++++++-------- .../genericprojectmanager/genericmakestep.cpp | 6 +++++- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/plugins/autotoolsprojectmanager/makestep.cpp b/src/plugins/autotoolsprojectmanager/makestep.cpp index c0160986a4a..de9f1bf164a 100644 --- a/src/plugins/autotoolsprojectmanager/makestep.cpp +++ b/src/plugins/autotoolsprojectmanager/makestep.cpp @@ -186,7 +186,11 @@ bool MakeStep::init() ProcessParameters *pp = processParameters(); pp->setMacroExpander(bc->macroExpander()); - pp->setEnvironment(bc->environment()); + Utils::Environment env = bc->environment(); + // Force output to english for the parsers. Do this here and not in the toolchain's + // addToEnvironment() to not screw up the users run environment. + env.set(QLatin1String("LC_ALL"), QLatin1String("C")); + pp->setEnvironment(env); pp->setWorkingDirectory(bc->buildDirectory()); pp->setCommand(tc ? tc->makeCommand(bc->environment()) : QLatin1String("make")); pp->setArguments(arguments); diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp index 74070d8c374..da32f5f50ec 100644 --- a/src/plugins/cmakeprojectmanager/makestep.cpp +++ b/src/plugins/cmakeprojectmanager/makestep.cpp @@ -188,14 +188,13 @@ bool MakeStep::init() ProcessParameters *pp = processParameters(); pp->setMacroExpander(bc->macroExpander()); - if (m_useNinja) { - Utils::Environment env = bc->environment(); - if (!env.value(QLatin1String("NINJA_STATUS")).startsWith(m_ninjaProgressString)) - env.set(QLatin1String("NINJA_STATUS"), m_ninjaProgressString + QLatin1String("%o/sec] ")); - pp->setEnvironment(env); - } else { - pp->setEnvironment(bc->environment()); - } + Utils::Environment env = bc->environment(); + // Force output to english for the parsers. Do this here and not in the toolchain's + // addToEnvironment() to not screw up the users run environment. + env.set(QLatin1String("LC_ALL"), QLatin1String("C")); + if (m_useNinja && !env.value(QLatin1String("NINJA_STATUS")).startsWith(m_ninjaProgressString)) + env.set(QLatin1String("NINJA_STATUS"), m_ninjaProgressString + QLatin1String("%o/sec] ")); + pp->setEnvironment(env); pp->setWorkingDirectory(bc->buildDirectory()); pp->setCommand(makeCommand(tc, bc->environment())); pp->setArguments(arguments); diff --git a/src/plugins/genericprojectmanager/genericmakestep.cpp b/src/plugins/genericprojectmanager/genericmakestep.cpp index 3e7fd4f1612..6b130778857 100644 --- a/src/plugins/genericprojectmanager/genericmakestep.cpp +++ b/src/plugins/genericprojectmanager/genericmakestep.cpp @@ -119,7 +119,11 @@ bool GenericMakeStep::init() ProcessParameters *pp = processParameters(); pp->setMacroExpander(bc->macroExpander()); pp->setWorkingDirectory(bc->buildDirectory()); - pp->setEnvironment(bc->environment()); + Utils::Environment env = bc->environment(); + // Force output to english for the parsers. Do this here and not in the toolchain's + // addToEnvironment() to not screw up the users run environment. + env.set(QLatin1String("LC_ALL"), QLatin1String("C")); + pp->setEnvironment(env); pp->setCommand(makeCommand(bc->environment())); pp->setArguments(allArguments());