diff options
author | Topi Reinio <topi.reinio@qt.io> | 2018-03-27 12:36:59 +0200 |
---|---|---|
committer | Topi Reiniƶ <topi.reinio@qt.io> | 2018-03-28 12:13:02 +0000 |
commit | b34f81532688f6b3809e17a9bbd98f72015fe915 (patch) | |
tree | 0fbb2629d9efac731436ea29ffe1c51d3a340b98 /src | |
parent | fbcf5ecedd86a0bbe98a8174288db278db0a25cb (diff) | |
download | qttools-b34f81532688f6b3809e17a9bbd98f72015fe915.tar.gz |
qdoc: Distinguish between undefined and defined-as-empty config vars
Make Config::getString() return an empty string for variables that are
defined as empty, while continuing to return a null string for
undefined ones.
Use a defined-as-empty 'moduleheader' variable:
moduleheader =
to mark a documentation project that doesn't need a precompiled header
to be built.
Change-Id: I2ccb631c73a1b91dc35955e5f21648db88915064
Reviewed-by: Martin Smith <martin.smith@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/qdoc/clangcodeparser.cpp | 2 | ||||
-rw-r--r-- | src/qdoc/config.cpp | 7 | ||||
-rw-r--r-- | src/qdoc/main.cpp | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp index 77055ca9f..ec145c736 100644 --- a/src/qdoc/clangcodeparser.cpp +++ b/src/qdoc/clangcodeparser.cpp @@ -1176,7 +1176,7 @@ void ClangCodeParser::getMoreArgs() */ void ClangCodeParser::buildPCH() { - if (!pchFileDir_) { + if (!pchFileDir_ && !moduleHeader().isEmpty()) { pchFileDir_.reset(new QTemporaryDir(QDir::tempPath() + QLatin1String("/qdoc_pch"))); if (pchFileDir_->isValid()) { //const QByteArray module = qdb_->primaryTreeRoot()->tree()->camelCaseModuleName().toUtf8(); diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index de7f23ce6..64c8786f6 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -397,12 +397,17 @@ QSet<QString> Config::getOutputFormats() const If \a var is not contained in the location map it returns \a defaultString. + + \note By default, \a defaultString is a null string. If \a var + is found but contains an empty string, that is returned instead. + This allows determining whether a configuration variable is + undefined (null string) or defined as empty (empty string). */ QString Config::getString(const QString& var, const QString& defaultString) const { QList<ConfigVar> configVars = configVars_.values(var); if (!configVars.empty()) { - QString value; + QString value(""); int i = configVars.size() - 1; while (i >= 0) { const ConfigVar& cv = configVars[i]; diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index 79cde7950..563915d49 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -366,7 +366,7 @@ static void processQdocconfFile(const QString &fileName) qdb->newPrimaryTree(project); else qdb->setPrimaryTree(project); - if (!moduleHeader.isEmpty()) + if (!moduleHeader.isNull()) clangParser_->setModuleHeader(moduleHeader); else clangParser_->setModuleHeader(project); |