4#ifndef QTBASE_DEPFILE_SHARED_H
5#define QTBASE_DEPFILE_SHARED_H
23template <>
struct CharType<QString> {
using type = QLatin1Char; };
24template <>
struct CharType<QByteArray> {
using type =
char; };
25template <
typename StringType>
28 using CT =
typename CharType<StringType>::type;
29 StringType escapedPath;
30 int size = path.size();
31 escapedPath.reserve(size);
32 for (
int i = 0; i < size; ++i) {
33 if (path[i] == CT(
'$')) {
34 escapedPath.append(CT(
'$'));
35 }
else if (path[i] == CT(
'#')) {
36 escapedPath.append(CT(
'\\'));
37 }
else if (path[i] == CT(
' ')) {
38 escapedPath.append(CT(
'\\'));
39 int backwards_it = i - 1;
40 while (backwards_it > 0 && path[backwards_it] == CT(
'\\')) {
41 escapedPath.append(CT(
'\\'));
45 escapedPath.append(path[i]);
52 return QFile::encodeName(escapeDependencyPath(path));
StringType escapeDependencyPath(const StringType &path)
static QByteArray escapeAndEncodeDependencyPath(const QString &path)
static const bool mustReadOutputAnyway
static QStringList dependenciesForDepfile
bool checkCanImportFromRootPaths(const Options *options, const QString &absolutePath, const QString &moduleUrl)
bool checkArchitecture(const Options &options, const QString &fileName)
static const QHash< QByteArray, QByteArray > elfArchitectures
static QString batSuffixAppended(QString path)
QString architectureFromName(const QString &name)
QString fileArchitecture(const Options &options, const QString &path)
static QString execSuffixAppended(QString path)
QString defaultLibexecDir()
bool readDependenciesFromElf(Options *options, const QString &fileName, QSet< QString > *usedDependencies, QSet< QString > *remainingDependencies)
static QString llvmReadobjPath(const Options &options)
auto openProcess(const QString &command)
void deleteMissingFiles(const Options &options, const QDir &srcDir, const QDir &dstDir)
bool goodToCopy(const Options *options, const QString &file, QStringList *unmetDependencies)
int main(int argc, char *argv[])
[ctor_close]
QHash< QString, QStringList > archExtraLibs
QMap< QString, QString > applicationPermissions
bool copyDependenciesOnly
bool generateJavaQmlComponents
QString currentArchitecture
QByteArray targetSdkVersion
void setCurrentQtArchitecture(const QString &arch, const QString &directory, const QHash< QString, QString > &directories)
QHash< QString, QString > qtDirectories
QString qtInstallDirectory
DeploymentMechanism deploymentMechanism
bool protectedAuthenticationPath
QStringList qmlImportPaths
bool qmlSkipImportScanning
QString sdkBuildToolsVersion
QString qtLibExecsDirectory
QHash< QString, QtInstallDirectoryWithTriple > architectures
std::vector< QString > rootPaths
std::vector< QString > extraLibraryDirs
QString applicationArguments
QString qmlImportScannerBinaryPath
QStringList androidDeployPlugins
QMap< QString, QString > modulePermissions
QHash< QString, QStringList > localLibs
QString qtPluginsDirectory
QHash< QString, QStringList > archExtraPlugins
QString applicationBinary
std::vector< QString > extraPrefixDirs
bool isZstdCompressionEnabled
QString androidSourceDirectory
QSet< QString > selectedJavaQmlComponents
bool operator==(const QtDependency &other) const
QtDependency(const QString &rpath, const QString &apath)
QHash< QString, QString > qtDirectories
QString qtInstallDirectory
QtInstallDirectoryWithTriple(const QString &dir=QString(), const QString &t=QString(), const QHash< QString, QString > &dirs=QHash< QString, QString >())
QString findInPath(const QString &file)