Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
shared.cpp File Reference
#include <QCoreApplication>
#include <QString>
#include <QStringList>
#include <QDebug>
#include <iostream>
#include <utility>
#include <QProcess>
#include <QDir>
#include <QSet>
#include <QVariant>
#include <QVariantMap>
#include <QStack>
#include <QDirIterator>
#include <QLibraryInfo>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonValue>
#include <QRegularExpression>
#include "shared.h"
+ Include dependency graph for shared.cpp:

Go to the source code of this file.

Functions

bool operator== (const FrameworkInfo &a, const FrameworkInfo &b)
 
QDebug operator<< (QDebug debug, const FrameworkInfo &info)
 
QDebug operator<< (QDebug debug, const ApplicationBundleInfo &info)
 
bool copyFilePrintStatus (const QString &from, const QString &to)
 
bool linkFilePrintStatus (const QString &file, const QString &link)
 
void patch_debugInInfoPlist (const QString &infoPlistPath)
 
OtoolInfo findDependencyInfo (const QString &binaryPath)
 
FrameworkInfo parseOtoolLibraryLine (const QString &line, const QString &appBundlePath, const QList< QString > &rpaths, bool useDebugLibs)
 
QString findAppBinary (const QString &appBundlePath)
 
QStringList findAppFrameworkNames (const QString &appBundlePath)
 
QStringList findAppFrameworkPaths (const QString &appBundlePath)
 
QStringList findAppLibraries (const QString &appBundlePath)
 
QStringList findAppBundleFiles (const QString &appBundlePath, bool absolutePath=false)
 
QString findEntitlementsFile (const QString &path)
 
QList< FrameworkInfogetQtFrameworks (const QList< DylibInfo > &dependencies, const QString &appBundlePath, const QList< QString > &rpaths, bool useDebugLibs)
 
QString resolveDyldPrefix (const QString &path, const QString &loaderPath, const QString &executablePath)
 
QList< QStringgetBinaryRPaths (const QString &path, bool resolve=true, QString executablePath=QString())
 
QList< FrameworkInfogetQtFrameworks (const QString &path, const QString &appBundlePath, const QList< QString > &rpaths, bool useDebugLibs)
 
QList< FrameworkInfogetQtFrameworksForPaths (const QStringList &paths, const QString &appBundlePath, const QList< QString > &rpaths, bool useDebugLibs)
 
QStringList getBinaryDependencies (const QString executablePath, const QString &path, const QList< QString > &additionalBinariesContainingRpaths)
 
bool recursiveCopy (const QString &sourcePath, const QString &destinationPath, const QRegularExpression &ignoreRegExp=QRegularExpression())
 
void recursiveCopyAndDeploy (const QString &appBundlePath, const QList< QString > &rpaths, const QString &sourcePath, const QString &destinationPath)
 
QString copyDylib (const FrameworkInfo &framework, const QString path)
 
QString copyFramework (const FrameworkInfo &framework, const QString path)
 
void runInstallNameTool (QStringList options)
 
void changeIdentification (const QString &id, const QString &binaryPath)
 
void changeInstallName (const QString &bundlePath, const FrameworkInfo &framework, const QStringList &binaryPaths, bool useLoaderPath)
 
void addRPath (const QString &rpath, const QString &binaryPath)
 
void deployRPaths (const QString &bundlePath, const QList< QString > &rpaths, const QString &binaryPath, bool useLoaderPath)
 
void deployRPaths (const QString &bundlePath, const QList< QString > &rpaths, const QStringList &binaryPaths, bool useLoaderPath)
 
void changeInstallName (const QString &oldName, const QString &newName, const QString &binaryPath)
 
void runStrip (const QString &binaryPath)
 
void stripAppBinary (const QString &bundlePath)
 
DeploymentInfo deployQtFrameworks (QList< FrameworkInfo > frameworks, const QString &bundlePath, const QStringList &binaryPaths, bool useDebugLibs, bool useLoaderPath)
 
DeploymentInfo deployQtFrameworks (const QString &appBundlePath, const QStringList &additionalExecutables, bool useDebugLibs)
 
QString getLibInfix (const QStringList &deployedFrameworks)
 
void deployPlugins (const ApplicationBundleInfo &appBundleInfo, const QString &pluginSourcePath, const QString pluginDestinationPath, DeploymentInfo deploymentInfo, bool useDebugLibs)
 
void createQtConf (const QString &appBundlePath)
 
void deployPlugins (const QString &appBundlePath, DeploymentInfo deploymentInfo, bool useDebugLibs)
 
void deployQmlImport (const QString &appBundlePath, const QList< QString > &rpaths, const QString &importSourcePath, const QString &importName)
 
static bool importLessThan (const QVariant &v1, const QVariant &v2)
 
bool deployQmlImports (const QString &appBundlePath, DeploymentInfo deploymentInfo, QStringList &qmlDirs, QStringList &qmlImportPaths)
 
void codesignFile (const QString &identity, const QString &filePath)
 
QSet< QStringcodesignBundle (const QString &identity, const QString &appBundlePath, QList< QString > additionalBinariesContainingRpaths)
 
void codesign (const QString &identity, const QString &appBundlePath)
 
void createDiskImage (const QString &appBundlePath, const QString &filesystemType)
 
void fixupFramework (const QString &frameworkName)
 

Variables

bool runStripEnabled = true
 
bool alwaysOwerwriteEnabled = false
 
bool runCodesign = false
 
QStringList librarySearchPath
 
QString codesignIdentiy
 
QString extraEntitlements
 
bool hardenedRuntime = false
 
bool secureTimestamp = false
 
bool appstoreCompliant = false
 
int logLevel = 1
 
bool deployFramework = false
 
const QString bundleFrameworkDirectory = "Contents/Frameworks"
 

Function Documentation

◆ addRPath()

void addRPath ( const QString rpath,
const QString binaryPath 
)

Definition at line 856 of file shared.cpp.

References runInstallNameTool().

Referenced by fixupFramework().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ changeIdentification()

void changeIdentification ( const QString id,
const QString binaryPath 
)

Definition at line 821 of file shared.cpp.

References LogDebug, and runInstallNameTool().

Referenced by deployQtFrameworks(), and fixupFramework().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ changeInstallName() [1/2]

void changeInstallName ( const QString bundlePath,
const FrameworkInfo framework,
const QStringList binaryPaths,
bool  useLoaderPath 
)

Definition at line 829 of file shared.cpp.

References QFileInfo::absoluteDir(), QFileInfo::absoluteFilePath(), FrameworkInfo::binaryDestinationDirectory, FrameworkInfo::binaryName, QFileInfo::canonicalFilePath(), QFileInfo::canonicalPath(), changeInstallName(), FrameworkInfo::deployedInstallName, QFileInfo::fileName(), FrameworkInfo::installName, QString::isEmpty(), and QDir::relativeFilePath().

Referenced by changeInstallName(), and deployQtFrameworks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ changeInstallName() [2/2]

void changeInstallName ( const QString oldName,
const QString newName,
const QString binaryPath 
)

Definition at line 904 of file shared.cpp.

References LogDebug, and runInstallNameTool().

+ Here is the call graph for this function:

◆ codesign()

void codesign ( const QString identity,
const QString appBundlePath 
)

Definition at line 1539 of file shared.cpp.

References codesignBundle().

Referenced by codesignBundle(), codesignFile(), and main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ codesignBundle()

QSet< QString > codesignBundle ( const QString identity,
const QString appBundlePath,
QList< QString additionalBinariesContainingRpaths 
)

Definition at line 1404 of file shared.cpp.

References QFileInfo::absoluteFilePath(), QList< T >::append(), codesign(), codesignBundle(), codesignFile(), QSet< T >::contains(), QDir::Dirs, QDir::entryList(), extraEntitlements, QDirIterator::filePath(), QDir::Files, findAppBundleFiles(), findAppFrameworkPaths(), findEntitlementsFile(), QString::fromLatin1(), getBinaryDependencies(), QDirIterator::hasNext(), QSet< T >::insert(), QByteArray::isEmpty(), QList< T >::isEmpty(), LogDebug, LogError, LogNormal, QDirIterator::next(), QDir::NoSymLinks, QStack< T >::pop(), QStack< T >::push(), QSet< T >::remove(), QDirIterator::Subdirectories, and QSet< T >::subtract().

Referenced by codesign(), and codesignBundle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ codesignFile()

void codesignFile ( const QString identity,
const QString filePath 
)

Definition at line 1368 of file shared.cpp.

References codesign(), extraEntitlements, hardenedRuntime, QString::isEmpty(), QByteArray::isEmpty(), LogDebug, LogError, LogNormal, runCodesign, and secureTimestamp.

Referenced by codesignBundle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ copyDylib()

QString copyDylib ( const FrameworkInfo framework,
const QString  path 
)

Definition at line 715 of file shared.cpp.

References alwaysOwerwriteEnabled, FrameworkInfo::binaryName, copyFilePrintStatus(), QFile::exists(), QFileInfo::exists(), FrameworkInfo::frameworkDestinationDirectory, LogError, and FrameworkInfo::sourceFilePath.

Referenced by deployQtFrameworks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ copyFilePrintStatus()

bool copyFilePrintStatus ( const QString from,
const QString to 
)

Definition at line 77 of file shared.cpp.

References alwaysOwerwriteEnabled, QFile::copy(), QFile::exists(), LogError, LogNormal, QFile::permissions(), qDebug, QFile::remove(), QFile::setPermissions(), QFileDevice::WriteOwner, and QFileDevice::WriteUser.

Referenced by copyDylib(), copyFramework(), deployPlugins(), recursiveCopy(), and recursiveCopyAndDeploy().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ copyFramework()

QString copyFramework ( const FrameworkInfo framework,
const QString  path 
)

Definition at line 742 of file shared.cpp.

References alwaysOwerwriteEnabled, FrameworkInfo::binaryDirectory, FrameworkInfo::binaryName, copyFilePrintStatus(), QFile::exists(), FrameworkInfo::frameworkDestinationDirectory, FrameworkInfo::frameworkPath, linkFilePrintStatus(), LogError, patch_debugInInfoPlist(), recursiveCopy(), FrameworkInfo::sourceFilePath, and FrameworkInfo::version.

Referenced by deployQtFrameworks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createDiskImage()

void createDiskImage ( const QString appBundlePath,
const QString filesystemType 
)

Definition at line 1543 of file shared.cpp.

References alwaysOwerwriteEnabled, QString::chop(), QFile::exists(), QFile::fileName(), LogError, LogNormal, and QFile::remove().

Referenced by main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createQtConf()

void createQtConf ( const QString appBundlePath)

Definition at line 1197 of file shared.cpp.

References alwaysOwerwriteEnabled, contents, QFile::exists(), fileName, LogNormal, LogWarning, QDir::mkpath(), QFile::open(), QIODevice::write(), and QIODeviceBase::WriteOnly.

Referenced by main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deployPlugins() [1/2]

void deployPlugins ( const ApplicationBundleInfo appBundleInfo,
const QString pluginSourcePath,
const QString  pluginDestinationPath,
DeploymentInfo  deploymentInfo,
bool  useDebugLibs 
)

Definition at line 1072 of file shared.cpp.

References appstoreCompliant, QString::contains(), DeploymentInfo::containsModule(), copyFilePrintStatus(), DeploymentInfo::deployedFrameworks, deployQtFrameworks(), dir, QDir::entryList(), getLibInfix(), getQtFrameworks(), it, LogNormal, LogWarning, map, QFileInfo::path(), ApplicationBundleInfo::path, DeploymentInfo::pluginPath, predicate, QStringLiteral, DeploymentInfo::rpathsUsed, runStrip(), QString::startsWith(), and DeploymentInfo::useLoaderPath.

Referenced by deployPlugins(), and main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deployPlugins() [2/2]

void deployPlugins ( const QString appBundlePath,
DeploymentInfo  deploymentInfo,
bool  useDebugLibs 
)

Definition at line 1228 of file shared.cpp.

References ApplicationBundleInfo::binaryPath, deployPlugins(), findAppBinary(), ApplicationBundleInfo::path, and DeploymentInfo::pluginPath.

+ Here is the call graph for this function:

◆ deployQmlImport()

void deployQmlImport ( const QString appBundlePath,
const QList< QString > &  rpaths,
const QString importSourcePath,
const QString importName 
)

Definition at line 1238 of file shared.cpp.

References recursiveCopyAndDeploy().

Referenced by deployQmlImports().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deployQmlImports()

bool deployQmlImports ( const QString appBundlePath,
DeploymentInfo  deploymentInfo,
QStringList qmlDirs,
QStringList qmlImportPaths 
)

Definition at line 1260 of file shared.cpp.

References QString::append(), QCoreApplication::applicationDirPath(), QJsonDocument::array(), QDir::cleanPath(), deployQmlImport(), QFile::exists(), QJsonDocument::fromJson(), importLessThan(), QJsonDocument::isArray(), QByteArray::isEmpty(), QLibraryInfo::LibraryExecutablesPath, LogError, LogNormal, LogWarning, QString::mid(), QLibraryInfo::path(), QLibraryInfo::QmlImportsPath, QStringLiteral, DeploymentInfo::rpathsUsed, QString::startsWith(), and QJsonArray::toVariantList().

Referenced by main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deployQtFrameworks() [1/2]

DeploymentInfo deployQtFrameworks ( const QString appBundlePath,
const QStringList additionalExecutables,
bool  useDebugLibs 
)

◆ deployQtFrameworks() [2/2]

DeploymentInfo deployQtFrameworks ( QList< FrameworkInfo frameworks,
const QString bundlePath,
const QStringList binaryPaths,
bool  useDebugLibs,
bool  useLoaderPath 
)

◆ deployRPaths() [1/2]

void deployRPaths ( const QString bundlePath,
const QList< QString > &  rpaths,
const QString binaryPath,
bool  useLoaderPath 
)

Definition at line 861 of file shared.cpp.

References QFileInfo::absoluteDir(), QFileInfo::absoluteFilePath(), args, QListSpecialMethodsBase< T >::contains(), getBinaryRPaths(), QList< T >::length(), LogDebug, QDir::relativeFilePath(), resolveDyldPrefix(), and runInstallNameTool().

Referenced by deployQtFrameworks(), and deployRPaths().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deployRPaths() [2/2]

void deployRPaths ( const QString bundlePath,
const QList< QString > &  rpaths,
const QStringList binaryPaths,
bool  useLoaderPath 
)

Definition at line 897 of file shared.cpp.

References deployRPaths().

+ Here is the call graph for this function:

◆ findAppBinary()

QString findAppBinary ( const QString appBundlePath)

Definition at line 367 of file shared.cpp.

References bundle, QFile::exists(), and LogError.

Referenced by deployPlugins(), deployQtFrameworks(), and stripAppBinary().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findAppBundleFiles()

QStringList findAppBundleFiles ( const QString appBundlePath,
bool  absolutePath = false 
)

Definition at line 447 of file shared.cpp.

References absolutePath(), QDir::Files, QString::fromLatin1(), iter, and QDirIterator::Subdirectories.

Referenced by codesignBundle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findAppFrameworkNames()

QStringList findAppFrameworkNames ( const QString appBundlePath)

Definition at line 403 of file shared.cpp.

References QDir::Dirs, QString::fromLatin1(), iter, and QDir::NoSymLinks.

Referenced by main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findAppFrameworkPaths()

QStringList findAppFrameworkPaths ( const QString appBundlePath)

Definition at line 420 of file shared.cpp.

References QDir::Dirs, QString::fromLatin1(), iter, and QDir::NoSymLinks.

Referenced by codesignBundle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findAppLibraries()

QStringList findAppLibraries ( const QString appBundlePath)

Definition at line 434 of file shared.cpp.

References QDir::Files, QString::fromLatin1(), iter, QDir::NoSymLinks, and QDirIterator::Subdirectories.

Referenced by deployQtFrameworks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findDependencyInfo()

OtoolInfo findDependencyInfo ( const QString binaryPath)

Definition at line 146 of file shared.cpp.

References DylibInfo::binaryPath, DylibInfo::compatibilityVersion, QString::contains(), DylibInfo::currentVersion, QString::endsWith(), fileName, QVersionNumber::fromString(), info, LogDebug, LogError, QRegularExpression::match(), match(), output, QStringLiteral, and Qt::SkipEmptyParts.

Referenced by getBinaryDependencies(), getQtFrameworks(), and parseOtoolLibraryLine().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findEntitlementsFile()

QString findEntitlementsFile ( const QString path)

Definition at line 464 of file shared.cpp.

References QDir::Files, QString::fromLatin1(), iter, and QDirIterator::Subdirectories.

Referenced by codesignBundle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fixupFramework()

void fixupFramework ( const QString frameworkName)

Definition at line 1579 of file shared.cpp.

References addRPath(), changeIdentification(), linkFilePrintStatus(), LogError, QStringLiteral, and QString::split().

Referenced by main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getBinaryDependencies()

QStringList getBinaryDependencies ( const QString  executablePath,
const QString path,
const QList< QString > &  additionalBinariesContainingRpaths 
)

Definition at line 583 of file shared.cpp.

References QDir::cleanPath(), OtoolInfo::dependencies, QFile::exists(), findDependencyInfo(), getBinaryRPaths(), info, QList< T >::isEmpty(), LogDebug, LogError, QString::mid(), QStringLiteral, and QString::startsWith().

Referenced by codesignBundle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getBinaryRPaths()

QList< QString > getBinaryRPaths ( const QString path,
bool  resolve = true,
QString  executablePath = QString() 
)

Definition at line 521 of file shared.cpp.

References i, QString::indexOf(), LogError, QString::mid(), output, and resolveDyldPrefix().

Referenced by deployQtFrameworks(), deployRPaths(), getBinaryDependencies(), and getQtFrameworks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLibInfix()

QString getLibInfix ( const QStringList deployedFrameworks)

Definition at line 1055 of file shared.cpp.

References QString::mid(), Q_ASSERT, and QStringLiteral.

Referenced by deployPlugins().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getQtFrameworks() [1/2]

QList< FrameworkInfo > getQtFrameworks ( const QList< DylibInfo > &  dependencies,
const QString appBundlePath,
const QList< QString > &  rpaths,
bool  useDebugLibs 
)

Definition at line 481 of file shared.cpp.

References QList< T >::append(), info, LogDebug, and parseOtoolLibraryLine().

Referenced by deployPlugins(), deployQtFrameworks(), getQtFrameworks(), getQtFrameworksForPaths(), and recursiveCopyAndDeploy().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getQtFrameworks() [2/2]

QList< FrameworkInfo > getQtFrameworks ( const QString path,
const QString appBundlePath,
const QList< QString > &  rpaths,
bool  useDebugLibs 
)

Definition at line 560 of file shared.cpp.

References findDependencyInfo(), getBinaryRPaths(), getQtFrameworks(), and info.

+ Here is the call graph for this function:

◆ getQtFrameworksForPaths()

QList< FrameworkInfo > getQtFrameworksForPaths ( const QStringList paths,
const QString appBundlePath,
const QList< QString > &  rpaths,
bool  useDebugLibs 
)

Definition at line 568 of file shared.cpp.

References QSet< T >::contains(), getQtFrameworks(), info, and QSet< T >::insert().

Referenced by deployQtFrameworks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importLessThan()

static bool importLessThan ( const QVariant v1,
const QVariant v2 
)
static

Definition at line 1250 of file shared.cpp.

Referenced by deployQmlImports().

+ Here is the caller graph for this function:

◆ linkFilePrintStatus()

bool linkFilePrintStatus ( const QString file,
const QString link 
)

Definition at line 114 of file shared.cpp.

References QFile::exists(), file, QFile::link(), LogError, and LogNormal.

Referenced by copyFramework(), fixupFramework(), and recursiveCopyAndDeploy().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator<<() [1/2]

QDebug operator<< ( QDebug  debug,
const ApplicationBundleInfo info 
)
inline

Definition at line 69 of file shared.cpp.

References debug, info, and QFileInfo::path().

+ Here is the call graph for this function:

◆ operator<<() [2/2]

QDebug operator<< ( QDebug  debug,
const FrameworkInfo info 
)

Definition at line 49 of file shared.cpp.

References debug, and info.

◆ operator==()

bool operator== ( const FrameworkInfo a,
const FrameworkInfo b 
)

Definition at line 44 of file shared.cpp.

◆ parseOtoolLibraryLine()

FrameworkInfo parseOtoolLibraryLine ( const QString line,
const QString appBundlePath,
const QList< QString > &  rpaths,
bool  useDebugLibs 
)

◆ patch_debugInInfoPlist()

void patch_debugInInfoPlist ( const QString infoPlistPath)

Definition at line 133 of file shared.cpp.

References QFileDevice::close(), contents, QFile::open(), QIODevice::readAll(), QIODeviceBase::ReadOnly, QIODeviceBase::Truncate, QIODevice::write(), and QIODeviceBase::WriteOnly.

Referenced by copyFramework().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ recursiveCopy()

bool recursiveCopy ( const QString sourcePath,
const QString destinationPath,
const QRegularExpression ignoreRegExp = QRegularExpression() 
)

Definition at line 630 of file shared.cpp.

References copyFilePrintStatus(), dir, QDir::Dirs, QDir::entryList(), file, QDir::Files, files, LogNormal, QDir::mkpath(), QDir::NoDotAndDotDot, and recursiveCopy().

Referenced by copyFramework(), and recursiveCopy().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ recursiveCopyAndDeploy()

void recursiveCopyAndDeploy ( const QString appBundlePath,
const QList< QString > &  rpaths,
const QString sourcePath,
const QString destinationPath 
)

Definition at line 656 of file shared.cpp.

References copyFilePrintStatus(), QString::count(), deployQtFrameworks(), dir, QDir::Dirs, QString::endsWith(), QDir::entryList(), file, QDir::Files, files, getQtFrameworks(), i, linkFilePrintStatus(), LogNormal, QDir::mkpath(), QDir::NoDotAndDotDot, QString::prepend(), QStringLiteral, recursiveCopyAndDeploy(), and runStrip().

Referenced by deployQmlImport(), and recursiveCopyAndDeploy().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resolveDyldPrefix()

QString resolveDyldPrefix ( const QString path,
const QString loaderPath,
const QString executablePath 
)

Definition at line 495 of file shared.cpp.

References QDir::cleanPath(), QDir::currentPath(), QDir::isAbsolutePath(), LogError, and QStringLiteral.

Referenced by deployRPaths(), and getBinaryRPaths().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ runInstallNameTool()

void runInstallNameTool ( QStringList  options)

Definition at line 810 of file shared.cpp.

References LogError.

Referenced by addRPath(), changeIdentification(), changeInstallName(), and deployRPaths().

+ Here is the caller graph for this function:

◆ runStrip()

void runStrip ( const QString binaryPath)

Definition at line 913 of file shared.cpp.

References LogDebug, LogError, and runStripEnabled.

Referenced by deployPlugins(), deployQtFrameworks(), recursiveCopyAndDeploy(), and stripAppBinary().

+ Here is the caller graph for this function:

◆ stripAppBinary()

void stripAppBinary ( const QString bundlePath)

Definition at line 929 of file shared.cpp.

References findAppBinary(), and runStrip().

Referenced by main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ alwaysOwerwriteEnabled

bool alwaysOwerwriteEnabled = false

◆ appstoreCompliant

bool appstoreCompliant = false

Definition at line 36 of file shared.cpp.

Referenced by deployPlugins(), and main().

◆ bundleFrameworkDirectory

const QString bundleFrameworkDirectory = "Contents/Frameworks"

Definition at line 67 of file shared.cpp.

Referenced by parseOtoolLibraryLine().

◆ codesignIdentiy

QString codesignIdentiy

Definition at line 32 of file shared.cpp.

Referenced by main().

◆ deployFramework

bool deployFramework = false

Definition at line 38 of file shared.cpp.

Referenced by main().

◆ extraEntitlements

QString extraEntitlements

Definition at line 33 of file shared.cpp.

Referenced by codesignBundle(), and codesignFile().

◆ hardenedRuntime

bool hardenedRuntime = false

Definition at line 34 of file shared.cpp.

Referenced by codesignFile(), and main().

◆ librarySearchPath

QStringList librarySearchPath

Definition at line 31 of file shared.cpp.

Referenced by main(), and parseOtoolLibraryLine().

◆ logLevel

int logLevel = 1

Definition at line 37 of file shared.cpp.

Referenced by main(), and QXcbKeyboard::updateKeymap().

◆ runCodesign

bool runCodesign = false

Definition at line 30 of file shared.cpp.

Referenced by codesignFile(), and main().

◆ runStripEnabled

bool runStripEnabled = true

Definition at line 28 of file shared.cpp.

Referenced by main(), and runStrip().

◆ secureTimestamp

bool secureTimestamp = false

Definition at line 35 of file shared.cpp.

Referenced by codesignFile(), and main().