Ref T103, moved directory functions from CBuildConfig to CDirectoryUtils

getApplicationDir renamed to getBinDir() as it works different on MacOs
see https://dev.swift-project.org/w/dev/swiftpc/dirstructure/
This commit is contained in:
Klaus Basan
2017-07-06 22:35:55 +02:00
committed by Mathew Sutcliffe
parent eaac4dacd6
commit debd9c802f
23 changed files with 301 additions and 322 deletions

View File

@@ -124,217 +124,12 @@ namespace BlackConfig
}
}
QString getApplicationDirImpl()
{
QFileInfo executable(QCoreApplication::applicationFilePath());
QDir p(executable.dir());
return p.absolutePath();
}
const QString &CBuildConfig::getApplicationDir()
{
static const QString s(getApplicationDirImpl());
return s;
}
bool isAppBundle()
{
QDir bundleDir(CBuildConfig::getApplicationDir());
bundleDir.cd("../..");
static const bool isBundled = QFileInfo(bundleDir.absolutePath()).isBundle();
return isBundled;
}
QString getSwiftShareDirImpl()
{
QDir dir(CBuildConfig::getApplicationDir());
bool success = true;
static const bool appBundle = isAppBundle();
if (CBuildConfig::isRunningOnMacOSXPlatform() && appBundle)
{
success = dir.cd("../../../../share");
}
else { success = dir.cd("../share"); }
if (success)
{
Q_ASSERT_X(dir.exists(), Q_FUNC_INFO, "missing dir");
return dir.absolutePath();
}
Q_ASSERT_X(false, Q_FUNC_INFO, "missing dir");
return "";
}
const QString &CBuildConfig::getSwiftShareDir()
{
static const QString s(getSwiftShareDirImpl());
return s;
}
const QString getBootstrapResourceFileImpl()
{
const QString d(CBuildConfig::getSwiftShareDir());
if (d.isEmpty()) { return ""; }
const QFile file(QDir::cleanPath(d + QDir::separator() + "shared/boostrap/boostrap.json"));
Q_ASSERT_X(file.exists(), Q_FUNC_INFO, "missing dir");
return QFileInfo(file).absoluteFilePath();
}
const QString &CBuildConfig::getBootstrapResourceFile()
{
static const QString s(getBootstrapResourceFileImpl());
return s;
}
QString getSwiftStaticDbFilesDirImpl()
{
const QString d(CBuildConfig::getSwiftShareDir());
if (d.isEmpty()) { return ""; }
const QDir dir(QDir::cleanPath(d + QDir::separator() + "shared/dbdata"));
Q_ASSERT_X(dir.exists(), Q_FUNC_INFO, "missing dir");
return dir.absolutePath();
}
const QString &CBuildConfig::getSwiftStaticDbFilesDir()
{
static QString s(getSwiftStaticDbFilesDirImpl());
return s;
}
QString getSoundFilesDirImpl()
{
const QString d(CBuildConfig::getSwiftShareDir());
if (d.isEmpty()) { return ""; }
const QDir dir(QDir::cleanPath(d + QDir::separator() + "sounds"));
Q_ASSERT_X(dir.exists(), Q_FUNC_INFO, "missing dir");
return dir.absolutePath();
}
const QString &CBuildConfig::getSoundFilesDir()
{
static QString s(getSoundFilesDirImpl());
return s;
}
QString getStylesheetsDirImpl()
{
const QString d(CBuildConfig::getSwiftShareDir());
if (d.isEmpty()) { return ""; }
const QDir dir(QDir::cleanPath(d + QDir::separator() + "qss"));
Q_ASSERT_X(dir.exists(), Q_FUNC_INFO, "missing dir");
return dir.absolutePath();
}
const QString &CBuildConfig::getStylesheetsDir()
{
static QString s(getStylesheetsDirImpl());
return s;
}
QString getImagesDirImpl()
{
const QString d(CBuildConfig::getSwiftShareDir());
const QDir dir(QDir::cleanPath(d + QDir::separator() + "images"));
Q_ASSERT_X(dir.exists(), Q_FUNC_INFO, "missing dir");
return dir.absolutePath();
}
const QString &CBuildConfig::getImagesDir()
{
static const QString s(getImagesDirImpl());
return s;
}
const QString &CBuildConfig::getImagesAirlinesDir()
{
static const QString s(QDir::cleanPath(getImagesDir() + QDir::separator() + "airlines"));
return s;
}
const QString &CBuildConfig::getImagesFlagsDir()
{
static const QString s(QDir::cleanPath(getImagesDir() + QDir::separator() + "flags"));
return s;
}
QString getHtmlDirImpl()
{
const QString d(CBuildConfig::getSwiftShareDir());
const QDir dir(QDir::cleanPath(d + QDir::separator() + "html"));
Q_ASSERT_X(dir.exists(), Q_FUNC_INFO, "missing dir");
return dir.absolutePath();
}
const QString &CBuildConfig::getHtmlDir()
{
static const QString s(getHtmlDirImpl());
return s;
}
QString getLegalDirImpl()
{
const QString d(CBuildConfig::getSwiftShareDir());
const QDir dir(QDir::cleanPath(d + QDir::separator() + "legal"));
Q_ASSERT_X(dir.exists(), Q_FUNC_INFO, "missing dir");
return dir.absolutePath();
}
const QString &CBuildConfig::getLegalDir()
{
static const QString s(getLegalDirImpl());
return s;
}
const QString &CBuildConfig::getAboutFileLocation()
{
static const QString about = QDir::cleanPath(CBuildConfig::getLegalDir() + QDir::separator() + "about.html");
return about;
}
QString getTestFilesDirImpl()
{
const QString d(CBuildConfig::getSwiftShareDir());
if (d.isEmpty()) { return ""; }
const QDir dir(QDir::cleanPath(d + QDir::separator() + "test"));
Q_ASSERT_X(dir.exists(), Q_FUNC_INFO, "missing dir");
return dir.absolutePath();
}
const QString &CBuildConfig::getTestFilesDir()
{
static QString s(getTestFilesDirImpl());
return s;
}
const QString &CBuildConfig::getHtmlTemplateFileName()
{
static const QString s(getHtmlDir() + QDir::separator() + "swifttemplate.html");
return s;
}
bool CBuildConfig::canRunInDeveloperEnvironment()
{
if (CBuildConfig::isDevBranch()) { return true; }
return !CBuildConfig::isStableBranch();
}
QString getDocumentationDirectoryImpl()
{
QStringList pathes(QStandardPaths::standardLocations(QStandardPaths::DocumentsLocation));
QString d = pathes.first();
d = QDir::cleanPath(d + QDir::separator() + "swift");
QDir dir(d);
if (dir.exists()) { return dir.absolutePath(); }
return pathes.first();
}
const QString &CBuildConfig::getDocumentationDirectory()
{
static const QString d(getDocumentationDirectoryImpl());
return d;
}
QString boolToYesNo(bool v)
{
return v ? "yes" : "no";