void AutoreconfStepConfigWidget::updateDetails() { AutotoolsBuildConfiguration *bc = m_autoreconfStep->autotoolsBuildConfiguration(); ProcessParameters param; param.setMacroExpander(bc->macroExpander()); param.setEnvironment(bc->environment()); param.setWorkingDirectory(bc->buildDirectory()); param.setCommand("autoreconf"); param.setArguments(m_autoreconfStep->additionalArguments()); m_summaryText = param.summary(displayName()); emit updateSummary(); }
bool AutogenStep::init() { AutotoolsBuildConfiguration *bc = autotoolsBuildConfiguration(); ProcessParameters *pp = processParameters(); pp->setMacroExpander(bc->macroExpander()); pp->setEnvironment(bc->environment()); pp->setWorkingDirectory(bc->buildDirectory()); pp->setCommand(QLatin1String("autogen.sh")); pp->setArguments(additionalArguments()); return AbstractProcessStep::init(); }
void AutoreconfStep::run(QFutureInterface<bool> &interface) { AutotoolsBuildConfiguration *bc = autotoolsBuildConfiguration(); // Check whether we need to run autoreconf const QFileInfo configureInfo(bc->buildDirectory() + QLatin1String("/configure")); if (!configureInfo.exists()) m_runAutoreconf = true; if (!m_runAutoreconf) { emit addOutput(tr("Configuration unchanged, skipping autoreconf step."), BuildStep::MessageOutput); interface.reportResult(true); return; } m_runAutoreconf = false; AbstractProcessStep::run(interface); }
bool MakeStep::init() { AutotoolsBuildConfiguration *bc = autotoolsBuildConfiguration(); if (!bc) bc = static_cast<AutotoolsBuildConfiguration *>(target()->activeBuildConfiguration()); m_tasks.clear(); ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit()); if (!tc) { m_tasks.append(Task(Task::Error, tr("Qt Creator needs a compiler set up to build. Configure a compiler in the kit options."), Utils::FileName(), -1, Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); return true; // otherwise the tasks will not get reported } QString arguments = Utils::QtcProcess::joinArgs(m_buildTargets); Utils::QtcProcess::addArgs(&arguments, additionalArguments()); setIgnoreReturnValue(m_clean); ProcessParameters *pp = processParameters(); pp->setMacroExpander(bc->macroExpander()); 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); setOutputParser(new GnuMakeParser()); QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (version) appendOutputParser(new QtSupport::QtParser); if (tc) appendOutputParser(tc->outputParser()); outputParser()->setWorkingDirectory(pp->effectiveWorkingDirectory()); return AbstractProcessStep::init(); }
void ConfigureStep::run(QFutureInterface<bool>& interface) { AutotoolsBuildConfiguration *bc = autotoolsBuildConfiguration(); //Check whether we need to run configure const QFileInfo configureInfo(bc->buildDirectory() + QLatin1String("/configure")); const QFileInfo configStatusInfo(bc->buildDirectory() + QLatin1String("/config.status")); if (!configStatusInfo.exists() || configStatusInfo.lastModified() < configureInfo.lastModified()) { m_runConfigure = true; } if (!m_runConfigure) { emit addOutput(tr("Configuration unchanged, skipping configure step."), BuildStep::MessageOutput); interface.reportResult(true); return; } m_runConfigure = false; AbstractProcessStep::run(interface); }
void AutogenStep::run(QFutureInterface<bool> &interface) { AutotoolsBuildConfiguration *bc = autotoolsBuildConfiguration(); // Check whether we need to run autogen.sh const QFileInfo configureInfo(bc->buildDirectory() + QLatin1String("/configure")); const QFileInfo configureAcInfo(bc->buildDirectory() + QLatin1String("/configure.ac")); const QFileInfo makefileAmInfo(bc->buildDirectory() + QLatin1String("/Makefile.am")); if (!configureInfo.exists() || configureInfo.lastModified() < configureAcInfo.lastModified() || configureInfo.lastModified() < makefileAmInfo.lastModified()) { m_runAutogen = true; } if (!m_runAutogen) { emit addOutput(tr("Configuration unchanged, skipping autogen step."), BuildStep::MessageOutput); interface.reportResult(true); return; } m_runAutogen = false; AbstractProcessStep::run(interface); }