diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 8fb6a29280b..77e660d3dd0 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -48,6 +48,8 @@ #include #include +#include + #include #include #include @@ -275,6 +277,18 @@ const QList CMakeBuildConfiguration::appTargets() const bti.projectFilePath = ct.sourceDirectory.stringAppended("/"); bti.workingDirectory = ct.workingDirectory; bti.buildKey = ct.title; + + // Workaround for QTCREATORBUG-19354: + bti.runEnvModifier = [this](Environment &env, bool) { + if (HostOsInfo::isWindowsHost()) { + const Kit *k = target()->kit(); + if (const QtSupport::BaseQtVersion *qt = QtSupport::QtKitAspect::qtVersion(k)) { + const QString installBinPath = qt->qmakeProperty("QT_INSTALL_BINS"); + env.prependOrSetPath(installBinPath); + } + } + }; + appTargetList.append(bti); } } diff --git a/src/plugins/qtsupport/desktoprunconfiguration.cpp b/src/plugins/qtsupport/desktoprunconfiguration.cpp index 82db07a19b5..31dd6bd0481 100644 --- a/src/plugins/qtsupport/desktoprunconfiguration.cpp +++ b/src/plugins/qtsupport/desktoprunconfiguration.cpp @@ -25,7 +25,6 @@ #include "desktoprunconfiguration.h" -#include "qtkitinformation.h" #include "qtoutputformatter.h" #include @@ -74,23 +73,13 @@ DesktopRunConfiguration::DesktopRunConfiguration(Target *target, Core::Id id, Ki }); } - if (m_kind == Qmake) { + envAspect->addModifier([this, libAspect](Environment &env) { + BuildTargetInfo bti = buildTargetInfo(); + if (bti.runEnvModifier) + bti.runEnvModifier(env, libAspect->value()); + }); - envAspect->addModifier([this](Environment &env) { - BuildTargetInfo bti = buildTargetInfo(); - if (bti.runEnvModifier) - bti.runEnvModifier(env, aspect()->value()); - }); - - } else if (kind == Qbs) { - - envAspect->addModifier([this](Environment &env) { - bool usingLibraryPaths = aspect()->value(); - - BuildTargetInfo bti = buildTargetInfo(); - if (bti.runEnvModifier) - bti.runEnvModifier(env, usingLibraryPaths); - }); + if (kind == Qbs) { connect(project(), &Project::parsingFinished, envAspect, &EnvironmentAspect::environmentChanged); @@ -107,17 +96,6 @@ DesktopRunConfiguration::DesktopRunConfiguration(Target *target, Core::Id id, Ki libAspect->setVisible(false); - // Workaround for QTCREATORBUG-19354: - if (HostOsInfo::isWindowsHost()) { - envAspect->addModifier([target](Environment &env) { - const Kit *k = target->kit(); - if (const QtSupport::BaseQtVersion *qt = QtSupport::QtKitAspect::qtVersion(k)) { - const QString installBinPath = qt->qmakeProperty("QT_INSTALL_BINS"); - env.prependOrSetPath(installBinPath); - } - }); - } - } setOutputFormatter();