diff options
Diffstat (limited to 'src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp')
-rw-r--r-- | src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index 3d3ec6af01..64a12ab081 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -75,6 +75,17 @@ using namespace QmakeProjectManager::Internal; namespace QmakeProjectManager { +class RunSystemAspect : public TriStateAspect +{ + Q_OBJECT +public: + RunSystemAspect() : TriStateAspect(tr("Run"), tr("Ignore"), tr("Use global setting")) + { + setSettingsKey("RunSystemFunction"); + setDisplayName(tr("qmake system() behavior when parsing:")); + } +}; + QmakeExtraBuildInfo::QmakeExtraBuildInfo() { const BuildPropertiesSettings &settings = ProjectExplorerPlugin::buildPropertiesSettings(); @@ -198,6 +209,8 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Utils::Id id) emit qmakeBuildConfigurationChanged(); qmakeBuildSystem()->scheduleUpdateAllNowOrLater(); }); + + addAspect<RunSystemAspect>(); } QmakeBuildConfiguration::~QmakeBuildConfiguration() @@ -439,6 +452,17 @@ void QmakeBuildConfiguration::forceQtQuickCompiler(bool enable) aspect<QtQuickCompilerAspect>()->setSetting(enable ? TriState::Enabled : TriState::Disabled); } +bool QmakeBuildConfiguration::runSystemFunction() const +{ + switch (aspect<RunSystemAspect>()->value()) { + case 0: + return true; + case 1: + return false; + } + return QmakeSettings::runSystemFunction(); +} + QStringList QmakeBuildConfiguration::configCommandLineArguments() const { QStringList result; @@ -875,3 +899,5 @@ void QmakeBuildConfiguration::restrictNextBuild(const RunConfiguration *rc) } } // namespace QmakeProjectManager + +#include <qmakebuildconfiguration.moc> |