diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index ee85d8c6a44..10c98a2b93b 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -1220,6 +1220,8 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
s->value(QLatin1String("ProjectExplorer/Settings/UseJom"), true).toBool();
dd->m_projectExplorerSettings.autorestoreLastSession =
s->value(QLatin1String("ProjectExplorer/Settings/AutoRestoreLastSession"), false).toBool();
+ dd->m_projectExplorerSettings.addLibraryPathsToRunEnv =
+ s->value(QLatin1String("ProjectExplorer/Settings/AddLibraryPathsToRunEnv"), true).toBool();
dd->m_projectExplorerSettings.prompToStopRunControl =
s->value(QLatin1String("ProjectExplorer/Settings/PromptToStopRunControl"), false).toBool();
dd->m_projectExplorerSettings.maxAppOutputLines =
@@ -1735,6 +1737,7 @@ void ProjectExplorerPluginPrivate::savePersistentSettings()
s->setValue(QLatin1String("ProjectExplorer/Settings/WrapAppOutput"), dd->m_projectExplorerSettings.wrapAppOutput);
s->setValue(QLatin1String("ProjectExplorer/Settings/UseJom"), dd->m_projectExplorerSettings.useJom);
s->setValue(QLatin1String("ProjectExplorer/Settings/AutoRestoreLastSession"), dd->m_projectExplorerSettings.autorestoreLastSession);
+ s->setValue(QLatin1String("ProjectExplorer/Settings/AddLibraryPathsToRunEnv"), dd->m_projectExplorerSettings.addLibraryPathsToRunEnv);
s->setValue(QLatin1String("ProjectExplorer/Settings/PromptToStopRunControl"), dd->m_projectExplorerSettings.prompToStopRunControl);
s->setValue(QLatin1String("ProjectExplorer/Settings/MaxAppOutputLines"), dd->m_projectExplorerSettings.maxAppOutputLines);
s->setValue(QLatin1String("ProjectExplorer/Settings/MaxBuildOutputLines"), dd->m_projectExplorerSettings.maxBuildOutputLines);
diff --git a/src/plugins/projectexplorer/projectexplorersettings.h b/src/plugins/projectexplorer/projectexplorersettings.h
index e0d4b8088c1..087db1cd07e 100644
--- a/src/plugins/projectexplorer/projectexplorersettings.h
+++ b/src/plugins/projectexplorer/projectexplorersettings.h
@@ -49,6 +49,7 @@ public:
bool useJom = true;
bool autorestoreLastSession = false; // This option is set in the Session Manager!
bool prompToStopRunControl = false;
+ bool addLibraryPathsToRunEnv = true;
int maxAppOutputLines = Core::Constants::DEFAULT_MAX_LINE_COUNT;
int maxBuildOutputLines = Core::Constants::DEFAULT_MAX_LINE_COUNT;
StopBeforeBuild stopBeforeBuild = StopBeforeBuild::StopNone;
@@ -73,6 +74,7 @@ inline bool operator==(const ProjectExplorerSettings &p1, const ProjectExplorerS
&& p1.useJom == p2.useJom
&& p1.autorestoreLastSession == p2.autorestoreLastSession
&& p1.prompToStopRunControl == p2.prompToStopRunControl
+ && p1.addLibraryPathsToRunEnv == p2.addLibraryPathsToRunEnv
&& p1.maxAppOutputLines == p2.maxAppOutputLines
&& p1.maxBuildOutputLines == p2.maxBuildOutputLines
&& p1.environmentId == p2.environmentId
diff --git a/src/plugins/projectexplorer/projectexplorersettingspage.cpp b/src/plugins/projectexplorer/projectexplorersettingspage.cpp
index aed6bf8985d..8eaef6da207 100644
--- a/src/plugins/projectexplorer/projectexplorersettingspage.cpp
+++ b/src/plugins/projectexplorer/projectexplorersettingspage.cpp
@@ -107,6 +107,7 @@ ProjectExplorerSettings ProjectExplorerSettingsWidget::settings() const
m_settings.mergeStdErrAndStdOut = m_ui.mergeStdErrAndStdOutCheckBox->isChecked();
m_settings.wrapAppOutput = m_ui.wrapAppOutputCheckBox->isChecked();
m_settings.useJom = m_ui.jomCheckbox->isChecked();
+ m_settings.addLibraryPathsToRunEnv = m_ui.addLibraryPathsToRunEnvCheckBox->isChecked();
m_settings.prompToStopRunControl = m_ui.promptToStopRunControlCheckBox->isChecked();
m_settings.maxAppOutputLines = m_ui.maxAppOutputBox->value();
m_settings.maxBuildOutputLines = m_ui.maxBuildOutputBox->value();
@@ -127,6 +128,7 @@ void ProjectExplorerSettingsWidget::setSettings(const ProjectExplorerSettings &
m_ui.mergeStdErrAndStdOutCheckBox->setChecked(m_settings.mergeStdErrAndStdOut);
m_ui.wrapAppOutputCheckBox->setChecked(m_settings.wrapAppOutput);
m_ui.jomCheckbox->setChecked(m_settings.useJom);
+ m_ui.addLibraryPathsToRunEnvCheckBox->setChecked(m_settings.addLibraryPathsToRunEnv);
m_ui.promptToStopRunControlCheckBox->setChecked(m_settings.prompToStopRunControl);
m_ui.maxAppOutputBox->setValue(m_settings.maxAppOutputLines);
m_ui.maxBuildOutputBox->setValue(m_settings.maxBuildOutputLines);
diff --git a/src/plugins/projectexplorer/projectexplorersettingspage.ui b/src/plugins/projectexplorer/projectexplorersettingspage.ui
index 328a8c2caf9..0908129ae7e 100644
--- a/src/plugins/projectexplorer/projectexplorersettingspage.ui
+++ b/src/plugins/projectexplorer/projectexplorersettingspage.ui
@@ -97,6 +97,13 @@
+ -
+
+
+ Add linker library search paths to run environment
+
+
+
-
@@ -104,7 +111,7 @@
- -
+
-
@@ -159,7 +166,7 @@
- -
+
-
diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
index 066d56abc0b..5f931d76580 100644
--- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
+++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
@@ -33,6 +33,8 @@
#include
#include
+#include
+#include
#include
#include
@@ -88,6 +90,8 @@ public:
QbsRunConfiguration::QbsRunConfiguration(Target *target)
: RunConfiguration(target, QBS_RC_PREFIX)
{
+ m_usingLibraryPaths = ProjectExplorerPlugin::projectExplorerSettings().addLibraryPathsToRunEnv;
+
auto envAspect = new LocalEnvironmentAspect(this,
[](RunConfiguration *rc, Environment &env) {
static_cast(rc)->addToBaseEnvironment(env);
diff --git a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp
index b76fc90d318..b5c9412ab34 100644
--- a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp
+++ b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp
@@ -30,6 +30,8 @@
#include
#include
#include
+#include
+#include
#include
#include
#include
@@ -69,6 +71,9 @@ const char USE_LIBRARY_SEARCH_PATH[] = "QmakeProjectManager.QmakeRunConfiguratio
DesktopQmakeRunConfiguration::DesktopQmakeRunConfiguration(Target *target)
: RunConfiguration(target, QMAKE_RC_PREFIX)
{
+ m_isUsingLibrarySearchPath
+ = ProjectExplorerPlugin::projectExplorerSettings().addLibraryPathsToRunEnv;
+
addExtraAspect(new ExecutableAspect(this));
addExtraAspect(new LocalEnvironmentAspect(this, [](RunConfiguration *rc, Environment &env) {
static_cast(rc)->addToBaseEnvironment(env);