diff options
Diffstat (limited to 'src/app/qbs-setup-toolchains/probe.h')
-rw-r--r-- | src/app/qbs-setup-toolchains/probe.h | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/src/app/qbs-setup-toolchains/probe.h b/src/app/qbs-setup-toolchains/probe.h index 510747ef7..235d7a899 100644 --- a/src/app/qbs-setup-toolchains/probe.h +++ b/src/app/qbs-setup-toolchains/probe.h @@ -36,10 +36,15 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -#ifndef QBS_PROBE_H -#define QBS_PROBE_H -#include <QtCore/qglobal.h> +#ifndef QBS_SETUPTOOLCHAINS_PROBE_H +#define QBS_SETUPTOOLCHAINS_PROBE_H + +#include <tools/version.h> + +#include <QtCore/qfileinfo.h> + +#include <tuple> // for std::tie QT_BEGIN_NAMESPACE class QString; @@ -48,11 +53,32 @@ QT_END_NAMESPACE namespace qbs { class Settings; } +QStringList systemSearchPaths(); + QString findExecutable(const QString &fileName); +QStringList toolchainTypeFromCompilerName(const QString &compilerName); + void createProfile(const QString &profileName, const QString &toolchainType, const QString &compilerFilePath, qbs::Settings *settings); void probe(qbs::Settings *settings); +struct ToolchainInstallInfo +{ + QFileInfo compilerPath; + qbs::Version compilerVersion; +}; + +inline bool operator<(const ToolchainInstallInfo &lhs, const ToolchainInstallInfo &rhs) +{ + const auto lp = lhs.compilerPath.absoluteFilePath(); + const auto rp = rhs.compilerPath.absoluteFilePath(); + return std::tie(lp, lhs.compilerVersion) < std::tie(rp, rhs.compilerVersion); +} + +int extractVersion(const QByteArray ¯oDump, const QByteArray &keyToken); + +bool isSameExecutable(const QString &exe1, const QString &exe2); + #endif // Header guard |