本文整理汇总了C++中utils::Environment类的典型用法代码示例。如果您正苦于以下问题:C++ Environment类的具体用法?C++ Environment怎么用?C++ Environment使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Environment类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: detectSsh
static inline QString detectSsh()
{
const QByteArray gitSsh = qgetenv("GIT_SSH");
if (!gitSsh.isEmpty())
return QString::fromLocal8Bit(gitSsh);
#if QT_VERSION >= 0x050000
QString ssh = QStandardPaths::findExecutable(QLatin1String(defaultSshC));
#else
const Utils::Environment env = Utils::Environment::systemEnvironment();
QString ssh = env.searchInPath(QLatin1String(defaultSshC));
#endif
if (!ssh.isEmpty())
return ssh;
if (Utils::HostOsInfo::isWindowsHost()) { // Windows: Use ssh.exe from git if it cannot be found.
const QString git = GerritPlugin::gitBinary();
if (!git.isEmpty()) {
// Is 'git\cmd' in the path (folder containing .bats)?
QString path = QFileInfo(git).absolutePath();
if (path.endsWith(QLatin1String("cmd"), Qt::CaseInsensitive))
path.replace(path.size() - 3, 3, QLatin1String("bin"));
ssh = path + QLatin1Char('/') + QLatin1String(defaultSshC);
}
}
return ssh;
}
开发者ID:CNOT,项目名称:julia-studio,代码行数:25,代码来源:gerritparameters.cpp
示例2: fi
static QList<CMakeTool *> autoDetectCMakeTools()
{
QList<FileName> suspects;
Utils::Environment env = Environment::systemEnvironment();
QStringList path = env.path();
path.removeDuplicates();
QStringList execs = env.appendExeExtensions(QLatin1String("cmake"));
foreach (QString base, path) {
const QChar slash = QLatin1Char('/');
if (base.isEmpty())
continue;
// Avoid turning '/' into '//' on Windows which triggers Windows to check
// for network drives!
if (!base.endsWith(slash))
base += slash;
foreach (const QString &exec, execs) {
QFileInfo fi(base + exec);
if (fi.exists() && fi.isFile() && fi.isExecutable())
suspects << FileName::fromString(fi.absoluteFilePath());
}
}
开发者ID:Azarien,项目名称:qt-creator,代码行数:26,代码来源:cmaketoolmanager.cpp
示例3: baseEnvironment
QList<Utils::EnvironmentItem> RvctToolChainConfigWidget::environmentChanges() const
{
Utils::Environment baseEnv;
Utils::Environment resultEnv = baseEnvironment(static_cast<RvctToolChain *>(toolChain()));
resultEnv.modify(m_model->userChanges());
return baseEnv.diff(resultEnv);
}
开发者ID:gaoxiaojun,项目名称:qtcreator,代码行数:7,代码来源:rvcttoolchain.cpp
示例4: init
bool AndroidPackageInstallationStep::init()
{
ProjectExplorer::BuildConfiguration *bc = buildConfiguration();
QString dirPath = bc->buildDirectory().appendPath(QLatin1String(Constants::ANDROID_BUILDDIRECTORY)).toString();
if (Utils::HostOsInfo::isWindowsHost())
if (bc->environment().searchInPath(QLatin1String("sh.exe")).isEmpty())
dirPath = QDir::toNativeSeparators(dirPath);
ProjectExplorer::ToolChain *tc
= ProjectExplorer::ToolChainKitInformation::toolChain(target()->kit());
ProjectExplorer::ProcessParameters *pp = processParameters();
pp->setMacroExpander(bc->macroExpander());
pp->setWorkingDirectory(bc->buildDirectory().toString());
pp->setCommand(tc->makeCommand(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->setArguments(QString::fromLatin1("INSTALL_ROOT=\"%1\" install").arg(dirPath));
pp->resolveAll();
setOutputParser(new ProjectExplorer::GnuMakeParser());
ProjectExplorer::IOutputParser *parser = target()->kit()->createOutputParser();
if (parser)
appendOutputParser(parser);
outputParser()->setWorkingDirectory(pp->effectiveWorkingDirectory());
m_androidDirToClean = dirPath;
return AbstractProcessStep::init();
}
开发者ID:beyondyuanshu,项目名称:qt-creator,代码行数:32,代码来源:androidpackageinstallationstep.cpp
示例5: init
bool DMakeStep::init(QList<const BuildStep *> &earlierSteps)
{
BuildConfiguration *bc = buildConfiguration();
if (!bc)
bc = target()->activeBuildConfiguration();
m_tasks.clear();
ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit(), ToolChain::Language::Cxx);
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
}
ProcessParameters *pp = processParameters();
pp->setMacroExpander(bc->macroExpander());
pp->setWorkingDirectory(bc->buildDirectory().toString());
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());
pp->resolveAll();
setOutputParser(new GnuMakeParser());
IOutputParser *parser = target()->kit()->createOutputParser();
if (parser)
appendOutputParser(parser);
outputParser()->setWorkingDirectory(pp->effectiveWorkingDirectory());
return AbstractProcessStep::init(earlierSteps);
}
开发者ID:GoldMax,项目名称:QtCreatorD,代码行数:35,代码来源:dmakestep.cpp
示例6: qmakeRunEnvironment
Utils::Environment MerQtVersion::qmakeRunEnvironment() const
{
Utils::Environment env = BaseQtVersion::qmakeRunEnvironment();
env.appendOrSet(QLatin1String(Constants::MER_SSH_TARGET_NAME),m_targetName);
env.appendOrSet(QLatin1String(Constants::MER_SSH_SDK_TOOLS),qmakeCommand().parentDir().toString());
return env;
}
开发者ID:kaltsi,项目名称:sailfish-qtcreator,代码行数:7,代码来源:merqtversion.cpp
示例7: readEnvironmentSetting
Utils::Environment MsvcToolChain::readEnvironmentSetting(Utils::Environment& env) const
{
Utils::Environment result = env;
if (!QFileInfo::exists(m_vcvarsBat))
return result;
QMap<QString, QString> envPairs;
if (!generateEnvironmentSettings(env, m_vcvarsBat, m_varsBatArg, envPairs))
return result;
// Now loop through and process them
QMap<QString,QString>::const_iterator envIter;
for (envIter = envPairs.constBegin(); envIter!=envPairs.constEnd(); ++envIter) {
const QString expandedValue = winExpandDelayedEnvReferences(envIter.value(), env);
if (!expandedValue.isEmpty())
result.set(envIter.key(), expandedValue);
}
if (debug) {
const QStringList newVars = result.toStringList();
const QStringList oldVars = env.toStringList();
QDebug nsp = qDebug().nospace();
foreach (const QString &n, newVars) {
if (!oldVars.contains(n))
nsp << n << '\n';
}
}
return result;
}
开发者ID:xth,项目名称:ide,代码行数:29,代码来源:msvctoolchain.cpp
示例8: CertificatesModel
// Note this functions is duplicated between AndroidDeployStep and AndroidDeployQtStep
// since it does modify the stored password in AndroidDeployQtStep it's not easily
// extractable. The situation will clean itself up once AndroidDeployStep is no longer
// necessary
QAbstractItemModel *AndroidDeployQtStep::keystoreCertificates()
{
QString rawCerts;
QProcess keytoolProc;
while (!rawCerts.length() || !m_keystorePasswd.length()) {
QStringList params;
params << QLatin1String("-list") << QLatin1String("-v") << QLatin1String("-keystore") << m_keystorePath.toUserOutput() << QLatin1String("-storepass");
if (!m_keystorePasswd.length())
keystorePassword();
if (!m_keystorePasswd.length())
return 0;
params << m_keystorePasswd;
Utils::Environment env = Utils::Environment::systemEnvironment();
env.set(QLatin1String("LANG"), QLatin1String("C"));
keytoolProc.setProcessEnvironment(env.toProcessEnvironment());
keytoolProc.start(AndroidConfigurations::instance().keytoolPath().toString(), params);
if (!keytoolProc.waitForStarted() || !keytoolProc.waitForFinished()) {
QMessageBox::critical(0, tr("Error"),
tr("Failed to run keytool"));
return 0;
}
if (keytoolProc.exitCode()) {
QMessageBox::critical(0, tr("Error"),
tr("Invalid password"));
m_keystorePasswd.clear();
}
rawCerts = QString::fromLatin1(keytoolProc.readAllStandardOutput());
}
return new CertificatesModel(rawCerts, this);
}
开发者ID:Revulet,项目名称:qtcreator,代码行数:35,代码来源:androiddeployqtstep.cpp
示例9: init
bool IosPresetBuildStep::init(QList<const BuildStep *> &earlierSteps)
{
BuildConfiguration *bc = buildConfiguration();
if (!bc)
bc = target()->activeBuildConfiguration();
ProcessParameters *pp = processParameters();
pp->setMacroExpander(bc->macroExpander());
pp->setWorkingDirectory(bc->buildDirectory().toString());
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(command());
pp->setArguments(Utils::QtcProcess::joinArgs(arguments()));
pp->resolveAll();
// If we are cleaning, then build can fail with an error code, but that doesn't mean
// we should stop the clean queue
// That is mostly so that rebuild works on an already clean project
setIgnoreReturnValue(m_clean);
setOutputParser(target()->kit()->createOutputParser());
if (outputParser())
outputParser()->setWorkingDirectory(pp->effectiveWorkingDirectory());
return AbstractProcessStep::init(earlierSteps);
}
开发者ID:UIKit0,项目名称:qt-creator,代码行数:29,代码来源:iosdsymbuildstep.cpp
示例10: addToEnvironment
void QnxToolChain::addToEnvironment(Utils::Environment &env) const
{
if (env.value(QLatin1String("QNX_HOST")).isEmpty()
|| env.value(QLatin1String("QNX_TARGET")).isEmpty())
setQnxEnvironment(env, QnxUtils::qnxEnvironment(m_ndkPath));
GccToolChain::addToEnvironment(env);
}
开发者ID:kurman-vladimir,项目名称:qt-creator,代码行数:8,代码来源:qnxtoolchain.cpp
示例11: addToEnvironment
void QnxQtVersion::addToEnvironment(const ProjectExplorer::Kit *k, Utils::Environment &env) const
{
QtSupport::BaseQtVersion::addToEnvironment(k, env);
updateEnvironment();
env.modify(m_qnxEnv);
env.prependOrSetLibrarySearchPath(qmakeProperty("QT_INSTALL_LIBS", PropertyVariantDev));
}
开发者ID:choenig,项目名称:qt-creator,代码行数:8,代码来源:qnxqtversion.cpp
示例12: addToEnvironment
void QnxAbstractQtVersion::addToEnvironment(const ProjectExplorer::Kit *k, Utils::Environment &env) const
{
QtSupport::BaseQtVersion::addToEnvironment(k, env);
updateEnvironment();
env.modify(m_qnxEnv);
env.prependOrSetLibrarySearchPath(versionInfo().value(QLatin1String("QT_INSTALL_LIBS")));
}
开发者ID:Gardenya,项目名称:qtcreator,代码行数:8,代码来源:qnxabstractqtversion.cpp
示例13: updateCacheAndEmitEnvironmentChanged
void BuildConfiguration::updateCacheAndEmitEnvironmentChanged()
{
Utils::Environment env = baseEnvironment();
env.modify(userEnvironmentChanges());
if (env == m_cachedEnvironment)
return;
m_cachedEnvironment = env;
emit environmentChanged(); // might trigger buildDirectoryChanged signal!
}
开发者ID:kai66673,项目名称:qt-creator,代码行数:9,代码来源:buildconfiguration.cpp
示例14: processEnvironment
QProcessEnvironment PuppetCreator::processEnvironment() const
{
Utils::Environment environment = Utils::Environment::systemEnvironment();
m_kit->addToEnvironment(environment);
environment.set("QML_BAD_GUI_RENDER_LOOP", "true");
environment.set("QML_USE_MOCKUPS", "true");
return environment.toProcessEnvironment();
}
开发者ID:colede,项目名称:qtcreator,代码行数:9,代码来源:puppetcreator.cpp
示例15: defaultCommand
static QString defaultCommand()
{
Utils::Environment env = Utils::Environment::systemEnvironment();
QString rc;
rc = QLatin1String("p4");
#if defined(Q_OS_WIN32)
rc.append(QLatin1String(".exe"));
#endif
return env.searchInPath(rc);
}
开发者ID:NoobSaibot,项目名称:qtcreator-minimap,代码行数:10,代码来源:perforcesettings.cpp
示例16: addToEnvironment
QList<HeaderPath> GccToolChain::systemHeaderPaths() const
{
if (m_headerPathes.isEmpty()) {
// Using a clean environment breaks ccache/distcc/etc.
Utils::Environment env = Utils::Environment::systemEnvironment();
addToEnvironment(env);
m_headerPathes = gccHeaderPathes(m_compilerPath, env.toStringList());
}
return m_headerPathes;
}
开发者ID:yinyunqiao,项目名称:qtcreator,代码行数:10,代码来源:gcctoolchain.cpp
示例17: predefinedMacros
QByteArray GccToolChain::predefinedMacros() const
{
if (m_predefinedMacros.isEmpty()) {
// Using a clean environment breaks ccache/distcc/etc.
Utils::Environment env = Utils::Environment::systemEnvironment();
addToEnvironment(env);
m_predefinedMacros = gccPredefinedMacros(m_compilerPath, env.toStringList());
}
return m_predefinedMacros;
}
开发者ID:yinyunqiao,项目名称:qtcreator,代码行数:10,代码来源:gcctoolchain.cpp
示例18: qmakeRunEnvironment
Utils::Environment QnxAbstractQtVersion::qmakeRunEnvironment() const
{
if (!sdkPath().isEmpty())
updateEnvironment();
Utils::Environment env = Utils::Environment::systemEnvironment();
env.modify(m_qnxEnv);
return env;
}
开发者ID:Gardenya,项目名称:qtcreator,代码行数:10,代码来源:qnxabstractqtversion.cpp
示例19: addToEnvironment
void SymbianQtVersion::addToEnvironment(const ProjectExplorer::Profile *p, Utils::Environment &env) const
{
BaseQtVersion::addToEnvironment(p, env);
// Generic Symbian environment:
QString epocRootPath = ProjectExplorer::SysRootProfileInformation::sysRoot(p).toString();
QDir epocDir(epocRootPath);
// Clean up epoc root path for the environment:
if (!epocRootPath.endsWith(QLatin1Char('/')))
epocRootPath.append(QLatin1Char('/'));
if (!isBuildWithSymbianSbsV2()) {
#ifdef Q_OS_WIN
if (epocRootPath.count() > 2
&& epocRootPath.at(0).toLower() >= QLatin1Char('a')
&& epocRootPath.at(0).toLower() <= QLatin1Char('z')
&& epocRootPath.at(1) == QLatin1Char(':')) {
epocRootPath = epocRootPath.mid(2);
}
#endif
}
env.set(QLatin1String("EPOCROOT"), QDir::toNativeSeparators(epocRootPath));
env.prependOrSetPath(epocDir.filePath(QLatin1String("epoc32/tools"))); // e.g. make.exe
// Windows only:
if (ProjectExplorer::Abi::hostAbi().os() == ProjectExplorer::Abi::WindowsOS) {
QString winDir = QLatin1String(qgetenv("WINDIR"));
if (!winDir.isEmpty())
env.prependOrSetPath(QDir(winDir).filePath(QLatin1String("system32")));
if (epocDir.exists(QLatin1String("epoc32/gcc/bin")))
env.prependOrSetPath(epocDir.filePath(QLatin1String("epoc32/gcc/bin"))); // e.g. cpp.exe, *NOT* gcc.exe
// Find perl in the special Symbian flavour:
if (epocDir.exists(QLatin1String("../../tools/perl/bin"))) {
epocDir.cd(QLatin1String("../../tools/perl/bin"));
env.prependOrSetPath(epocDir.absolutePath());
} else {
env.prependOrSetPath(epocDir.filePath(QLatin1String("perl/bin")));
}
}
// SBSv2:
if (isBuildWithSymbianSbsV2()) {
QString sbsHome(env.value(QLatin1String("SBS_HOME")));
QString sbsConfig = sbsV2Directory();
if (!sbsConfig.isEmpty()) {
env.prependOrSetPath(sbsConfig);
// SBS_HOME is the path minus the trailing /bin:
env.set(QLatin1String("SBS_HOME"),
QDir::toNativeSeparators(sbsConfig.left(sbsConfig.count() - 4))); // We need this for Qt 4.6.3 compatibility
} else if (!sbsHome.isEmpty()) {
env.prependOrSetPath(sbsHome + QLatin1String("/bin"));
}
}
}
开发者ID:KDE,项目名称:android-qt-creator,代码行数:54,代码来源:symbianqtversion.cpp
示例20: RvctToolChain
ProjectExplorer::ToolChain *RvctToolChainFactory::create()
{
RvctToolChain *tc = new RvctToolChain(false);
Utils::Environment env = Utils::Environment::systemEnvironment();
if (env.hasKey(QLatin1String(RVCT_LICENSE_KEY))) {
tc->setEnvironmentChanges(QList<Utils::EnvironmentItem>()
<< Utils::EnvironmentItem(QLatin1String(RVCT_LICENSE_KEY),
env.value(QLatin1String(RVCT_LICENSE_KEY))));
}
tc->setDisplayName(tr("RVCT"));
return tc;
}
开发者ID:gaoxiaojun,项目名称:qtcreator,代码行数:12,代码来源:rvcttoolchain.cpp
注:本文中的utils::Environment类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论