summaryrefslogtreecommitdiff
path: root/src/qdoc/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qdoc/main.cpp')
-rw-r--r--src/qdoc/main.cpp366
1 files changed, 80 insertions, 286 deletions
diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp
index d8798b7cd..ea9dc6ed7 100644
--- a/src/qdoc/main.cpp
+++ b/src/qdoc/main.cpp
@@ -26,9 +26,17 @@
**
****************************************************************************/
-#include <qglobal.h>
-#include <qhashfunctions.h>
+#include <algorithm>
#include <stdlib.h>
+#include <QtCore/qcommandlineoption.h>
+#include <QtCore/qcommandlineparser.h>
+#include <QtCore/qdatetime.h>
+#include <QtCore/qdebug.h>
+#include <QtCore/qglobal.h>
+#include <QtCore/qglobalstatic.h>
+#include <QtCore/qhashfunctions.h>
+
+#include "clangcodeparser.h"
#include "codemarker.h"
#include "codeparser.h"
#include "config.h"
@@ -36,27 +44,23 @@
#include "cppcodeparser.h"
#include "doc.h"
#include "htmlgenerator.h"
-#include "loggingcategory.h"
-#include "webxmlgenerator.h"
+#include "jscodemarker.h"
#include "location.h"
+#include "loggingcategory.h"
#include "puredocparser.h"
-#include "tokenizer.h"
-#include "tree.h"
-#include "qdocdatabase.h"
-#include "jscodemarker.h"
#include "qmlcodemarker.h"
#include "qmlcodeparser.h"
-#include "clangcodeparser.h"
-#include <qdatetime.h>
-#include <qdebug.h>
+#include "qdoccommandlineparser.h"
+#include "qdocdatabase.h"
+#include "qdocglobals.h"
#include "qtranslator.h"
+#include "tokenizer.h"
+#include "tree.h"
+#include "webxmlgenerator.h"
+
#ifndef QT_BOOTSTRAPPED
# include "qcoreapplication.h"
#endif
-#include "qcommandlineoption.h"
-#include "qcommandlineparser.h"
-#include <qhashfunctions.h>
-#include <algorithm>
QT_BEGIN_NAMESPACE
@@ -67,26 +71,13 @@ bool creationTimeBefore(const QFileInfo &fi1, const QFileInfo &fi2)
return fi1.lastModified() < fi2.lastModified();
}
-static bool highlighting = false;
-static bool showInternal = false;
-static bool singleExec = false;
-static bool writeQaPages = false;
-static bool redirectDocumentationToDevNull = false;
-static bool noLinkErrors = false;
-static bool autolinkErrors = false;
-static bool obsoleteLinks = false;
-static QStringList defines;
-static QStringList includesPaths;
-static QStringList dependModules;
-static QStringList indexDirs;
-static QString currentDir;
-static QString prevCurrentDir;
-static QHash<QString,QString> defaults;
#ifndef QT_NO_TRANSLATION
typedef QPair<QString, QTranslator*> Translator;
static QList<Translator> translators;
#endif
-static ClangCodeParser* clangParser_ = 0;
+
+static ClangCodeParser* clangParser_ = nullptr;
+static QDocGlobals qdocGlobals;
/*!
Read some XML indexes containing definitions from other
@@ -110,8 +101,8 @@ static void loadIndexFiles(Config& config, const QSet<QString> &formats)
Location::null.warning(QString("Index file not found: %1").arg(index));
}
- dependModules += config.getStringList(CONFIG_DEPENDS);
- dependModules.removeDuplicates();
+ qdocGlobals.dependModules() += config.getStringList(CONFIG_DEPENDS);
+ qdocGlobals.dependModules().removeDuplicates();
QSet<QString> subDirs;
for (const auto &format : formats) {
@@ -125,41 +116,41 @@ static void loadIndexFiles(Config& config, const QSet<QString> &formats)
}
}
- if (dependModules.size() > 0) {
- if (indexDirs.size() > 0) {
- for (int i = 0; i < indexDirs.size(); i++) {
- if (indexDirs[i].startsWith("..")) {
- const QString prefix(QDir(currentDir).relativeFilePath(prevCurrentDir));
+ if (qdocGlobals.dependModules().size() > 0) {
+ if (qdocGlobals.indexDirs().size() > 0) {
+ for (int i = 0; i < qdocGlobals.indexDirs().size(); i++) {
+ if (qdocGlobals.indexDirs()[i].startsWith("..")) {
+ const QString prefix(QDir(qdocGlobals.currentDir()).relativeFilePath(qdocGlobals.previousCurrentDir()));
if (!prefix.isEmpty())
- indexDirs[i].prepend(prefix + QLatin1Char('/'));
+ qdocGlobals.indexDirs()[i].prepend(prefix + QLatin1Char('/'));
}
}
/*
Add all subdirectories of the indexdirs as dependModules,
when an asterisk is used in the 'depends' list.
*/
- if (dependModules.contains("*")) {
- dependModules.removeOne("*");
- for (int i = 0; i < indexDirs.size(); i++) {
- QDir scanDir = QDir(indexDirs[i]);
+ if (qdocGlobals.dependModules().contains("*")) {
+ qdocGlobals.dependModules().removeOne("*");
+ for (int i = 0; i < qdocGlobals.indexDirs().size(); i++) {
+ QDir scanDir = QDir(qdocGlobals.indexDirs()[i]);
scanDir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
QFileInfoList dirList = scanDir.entryInfoList();
for (int j = 0; j < dirList.size(); j++) {
if (dirList[j].fileName().toLower() != config.getString(CONFIG_PROJECT).toLower())
- dependModules.append(dirList[j].fileName());
+ qdocGlobals.dependModules().append(dirList[j].fileName());
}
}
}
- for (int i = 0; i < dependModules.size(); i++) {
+ for (int i = 0; i < qdocGlobals.dependModules().size(); i++) {
QString indexToAdd;
QList<QFileInfo> foundIndices;
// Always look in module-specific subdir, even with *.nosubdirs config
- subDirs << dependModules[i];
- for (int j = 0; j < indexDirs.size(); j++) {
+ subDirs << qdocGlobals.dependModules()[i];
+ for (int j = 0; j < qdocGlobals.indexDirs().size(); j++) {
for (const auto &subDir : subDirs) {
- QString fileToLookFor = indexDirs[j]
+ QString fileToLookFor = qdocGlobals.indexDirs()[j]
+ QLatin1Char('/') + subDir
- + QLatin1Char('/') + dependModules[i] + ".index";
+ + QLatin1Char('/') + qdocGlobals.dependModules()[i] + ".index";
if (QFile::exists(fileToLookFor)) {
QFileInfo tempFileInfo(fileToLookFor);
if (!foundIndices.contains(tempFileInfo))
@@ -167,7 +158,7 @@ static void loadIndexFiles(Config& config, const QSet<QString> &formats)
}
}
}
- subDirs.remove(dependModules[i]);
+ subDirs.remove(qdocGlobals.dependModules()[i]);
std::sort(foundIndices.begin(), foundIndices.end(), creationTimeBefore);
if (foundIndices.size() > 1) {
/*
@@ -179,10 +170,10 @@ static void loadIndexFiles(Config& config, const QSet<QString> &formats)
for (int k = 0; k < foundIndices.size(); k++)
indexPaths << foundIndices[k].absoluteFilePath();
Location::null.warning(QString("Multiple index files found for dependency \"%1\":\n%2").arg(
- dependModules[i], indexPaths.join('\n')));
+ qdocGlobals.dependModules()[i], indexPaths.join('\n')));
Location::null.warning(QString("Using %1 as index file for dependency \"%2\"").arg(
foundIndices[foundIndices.size() - 1].absoluteFilePath(),
- dependModules[i]));
+ qdocGlobals.dependModules()[i]));
indexToAdd = foundIndices[foundIndices.size() - 1].absoluteFilePath();
}
else if (foundIndices.size() == 1) {
@@ -194,7 +185,7 @@ static void loadIndexFiles(Config& config, const QSet<QString> &formats)
}
else {
Location::null.warning(QString("\"%1\" Cannot locate index file for dependency \"%2\"").arg(
- config.getString(CONFIG_PROJECT), dependModules[i]));
+ config.getString(CONFIG_PROJECT), qdocGlobals.dependModules()[i]));
}
}
}
@@ -224,19 +215,19 @@ static void processQdocconfFile(const QString &fileName)
Config config(QCoreApplication::translate("QDoc", "qdoc"));
QHash<QString,QString>::iterator iter;
- for (iter = defaults.begin(); iter != defaults.end(); ++iter)
+ for (iter = qdocGlobals.defaults().begin(); iter != qdocGlobals.defaults().end(); ++iter)
config.setStringList(iter.key(), QStringList() << iter.value());
- config.setStringList(CONFIG_SYNTAXHIGHLIGHTING, QStringList(highlighting ? "true" : "false"));
- config.setStringList(CONFIG_SHOWINTERNAL, QStringList(showInternal ? "true" : "false"));
- config.setStringList(CONFIG_SINGLEEXEC, QStringList(singleExec ? "true" : "false"));
- config.setStringList(CONFIG_WRITEQAPAGES, QStringList(writeQaPages ? "true" : "false"));
- config.setStringList(CONFIG_REDIRECTDOCUMENTATIONTODEVNULL, QStringList(redirectDocumentationToDevNull ? "true" : "false"));
- config.setStringList(CONFIG_NOLINKERRORS, QStringList(noLinkErrors ? "true" : "false"));
- config.setStringList(CONFIG_AUTOLINKERRORS, QStringList(autolinkErrors ? "true" : "false"));
- config.setStringList(CONFIG_OBSOLETELINKS, QStringList(obsoleteLinks ? "true" : "false"));
+ config.setStringList(CONFIG_SYNTAXHIGHLIGHTING, QStringList(qdocGlobals.highlighting() ? "true" : "false"));
+ config.setStringList(CONFIG_SHOWINTERNAL, QStringList(qdocGlobals.showInternal() ? "true" : "false"));
+ config.setStringList(CONFIG_SINGLEEXEC, QStringList(qdocGlobals.singleExec() ? "true" : "false"));
+ config.setStringList(CONFIG_WRITEQAPAGES, QStringList(qdocGlobals.writeQaPages() ? "true" : "false"));
+ config.setStringList(CONFIG_REDIRECTDOCUMENTATIONTODEVNULL, QStringList(qdocGlobals.redirectDocumentationToDevNull() ? "true" : "false"));
+ config.setStringList(CONFIG_NOLINKERRORS, QStringList(qdocGlobals.noLinkErrors() ? "true" : "false"));
+ config.setStringList(CONFIG_AUTOLINKERRORS, QStringList(qdocGlobals.autolinkErrors() ? "true" : "false"));
+ config.setStringList(CONFIG_OBSOLETELINKS, QStringList(qdocGlobals.obsoleteLinks() ? "true" : "false"));
- prevCurrentDir = QDir::currentPath();
+ qdocGlobals.setPreviousCurrentDir(QDir::currentPath());
/*
With the default configuration values in place, load
@@ -254,28 +245,28 @@ static void processQdocconfFile(const QString &fileName)
/*
Add the defines to the configuration variables.
*/
- QStringList defs = defines + config.getStringList(CONFIG_DEFINES);
+ QStringList defs = qdocGlobals.defines() + config.getStringList(CONFIG_DEFINES);
config.setStringList(CONFIG_DEFINES,defs);
- QStringList incs = includesPaths + config.getStringList(CONFIG_INCLUDEPATHS);
+ QStringList incs = qdocGlobals.includesPaths() + config.getStringList(CONFIG_INCLUDEPATHS);
config.setStringList(CONFIG_INCLUDEPATHS, incs);
Location::terminate();
- currentDir = QFileInfo(fileName).path();
- if (!currentDir.isEmpty())
- QDir::setCurrent(currentDir);
+ qdocGlobals.setCurrentDir(QFileInfo(fileName).path());
+ if (!qdocGlobals.currentDir().isEmpty())
+ QDir::setCurrent(qdocGlobals.currentDir());
- QString phase = " in -";
+ QString phase = " in ";
if (Generator::singleExec())
- phase += "single exec mode, ";
+ phase += "single process mode, ";
else
- phase += "separate exec mode, ";
+ phase += "dual process mode, ";
if (Generator::preparing())
- phase += "prepare phase ";
+ phase += "(prepare phase)";
else if (Generator::generating())
- phase += "generate phase ";
+ phase += "(generate phase)";
- QString msg = "Running qdoc for " + config.getString(CONFIG_PROJECT) + phase;
- Location::logToStdErr(msg);
+ QString msg = "Start qdoc for " + config.getString(CONFIG_PROJECT) + phase;
+ Location::logToStdErrAlways(msg);
/*
Initialize all the classes and data structures with the
@@ -310,7 +301,7 @@ static void processQdocconfFile(const QString &fileName)
}
}
if (!found) {
- QTranslator *translator = new QTranslator(0);
+ QTranslator *translator = new QTranslator(nullptr);
if (!translator->load(*fn)) {
config.lastLocation().error(QCoreApplication::translate("QDoc", "Cannot load translator '%1'").arg(*fn));
}
@@ -370,9 +361,9 @@ static void processQdocconfFile(const QString &fileName)
else
clangParser_->setModuleHeader(project);
- dependModules = config.getStringList(CONFIG_DEPENDS);
- dependModules.removeDuplicates();
- qdb->setSearchOrder(dependModules);
+ qdocGlobals.dependModules() = config.getStringList(CONFIG_DEPENDS);
+ qdocGlobals.dependModules().removeDuplicates();
+ qdb->setSearchOrder(qdocGlobals.dependModules());
// Store the title of the index (landing) page
NamespaceNode* root = qdb->primaryTreeRoot();
@@ -470,7 +461,7 @@ static void processQdocconfFile(const QString &fileName)
add it to the big tree.
*/
parsed = 0;
- qCDebug(lcQdoc, "Parsing source files");
+ Location::logToStdErrAlways("Parse source files for " + project);
QMap<QString,QString>::ConstIterator s = sources.constBegin();
while (s != sources.constEnd()) {
CodeParser *codeParser = CodeParser::parserForSourceFile(s.key());
@@ -481,7 +472,7 @@ static void processQdocconfFile(const QString &fileName)
}
++s;
}
- qCDebug(lcQdoc, "Parsing done.");
+ Location::logToStdErrAlways("Source files parsed for " + project);
/*
Now the primary tree has been built from all the header and
@@ -507,7 +498,7 @@ static void processQdocconfFile(const QString &fileName)
QSet<QString>::ConstIterator of = outputFormats.constBegin();
while (of != outputFormats.constEnd()) {
Generator* generator = Generator::generatorForFormat(*of);
- if (generator == 0)
+ if (generator == nullptr)
outputFormatsLocation.fatal(QCoreApplication::translate("QDoc",
"Unknown output format '%1'").arg(*of));
generator->initializeFormat(config);
@@ -524,6 +515,8 @@ static void processQdocconfFile(const QString &fileName)
if (Generator::debugging())
Generator::stopDebugging(project);
+ msg = "End qdoc for " + config.getString(CONFIG_PROJECT) + phase;
+ Location::logToStdErrAlways(msg);
QDocDatabase::qdocDB()->setVersion(QString());
Generator::terminate();
CodeParser::terminate();
@@ -531,210 +524,11 @@ static void processQdocconfFile(const QString &fileName)
Doc::terminate();
Tokenizer::terminate();
Location::terminate();
- QDir::setCurrent(prevCurrentDir);
+ QDir::setCurrent(qdocGlobals.previousCurrentDir());
qCDebug(lcQdoc, "qdoc classes terminated");
}
-class QDocCommandLineParser : public QCommandLineParser
-{
-public:
- QDocCommandLineParser();
- void process(const QCoreApplication &app);
-
-private:
- QCommandLineOption defineOption, dependsOption, highlightingOption;
- QCommandLineOption showInternalOption, redirectDocumentationToDevNullOption;
- QCommandLineOption noExamplesOption, indexDirOption, installDirOption;
- QCommandLineOption obsoleteLinksOption, outputDirOption, outputFormatOption;
- QCommandLineOption noLinkErrorsOption, autoLinkErrorsOption, debugOption;
- QCommandLineOption prepareOption, generateOption, logProgressOption;
- QCommandLineOption singleExecOption, writeQaPagesOption;
- QCommandLineOption includePathOption, includePathSystemOption, frameworkOption;
-};
-
-QDocCommandLineParser::QDocCommandLineParser()
- : QCommandLineParser(),
- defineOption(QStringList() << QStringLiteral("D")),
- dependsOption(QStringList() << QStringLiteral("depends")),
- highlightingOption(QStringList() << QStringLiteral("highlighting")),
- showInternalOption(QStringList() << QStringLiteral("showinternal")),
- redirectDocumentationToDevNullOption(QStringList() << QStringLiteral("redirect-documentation-to-dev-null")),
- noExamplesOption(QStringList() << QStringLiteral("no-examples")),
- indexDirOption(QStringList() << QStringLiteral("indexdir")),
- installDirOption(QStringList() << QStringLiteral("installdir")),
- obsoleteLinksOption(QStringList() << QStringLiteral("obsoletelinks")),
- outputDirOption(QStringList() << QStringLiteral("outputdir")),
- outputFormatOption(QStringList() << QStringLiteral("outputformat")),
- noLinkErrorsOption(QStringList() << QStringLiteral("no-link-errors")),
- autoLinkErrorsOption(QStringList() << QStringLiteral("autolink-errors")),
- debugOption(QStringList() << QStringLiteral("debug")),
- prepareOption(QStringList() << QStringLiteral("prepare")),
- generateOption(QStringList() << QStringLiteral("generate")),
- logProgressOption(QStringList() << QStringLiteral("log-progress")),
- singleExecOption(QStringList() << QStringLiteral("single-exec")),
- writeQaPagesOption(QStringList() << QStringLiteral("write-qa-pages")),
- includePathOption("I", "Add dir to the include path for header files.", "path"),
- includePathSystemOption("isystem", "Add dir to the system include path for header files.", "path"),
- frameworkOption("F", "Add macOS framework to the include path for header files.", "framework")
-{
- setApplicationDescription(QCoreApplication::translate("qdoc", "Qt documentation generator"));
- addHelpOption();
- addVersionOption();
-
- setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions);
-
- addPositionalArgument("file1.qdocconf ...", QCoreApplication::translate("qdoc", "Input files"));
-
- defineOption.setDescription(QCoreApplication::translate("qdoc", "Define the argument as a macro while parsing sources"));
- defineOption.setValueName(QStringLiteral("macro[=def]"));
- addOption(defineOption);
-
- dependsOption.setDescription(QCoreApplication::translate("qdoc", "Specify dependent modules"));
- dependsOption.setValueName(QStringLiteral("module"));
- addOption(dependsOption);
-
- highlightingOption.setDescription(QCoreApplication::translate("qdoc", "Turn on syntax highlighting (makes qdoc run slower)"));
- addOption(highlightingOption);
-
- showInternalOption.setDescription(QCoreApplication::translate("qdoc", "Include content marked internal"));
- addOption(showInternalOption);
-
- redirectDocumentationToDevNullOption.setDescription(QCoreApplication::translate("qdoc", "Save all documentation content to /dev/null. Useful if someone is interested in qdoc errors only."));
- addOption(redirectDocumentationToDevNullOption);
-
- noExamplesOption.setDescription(QCoreApplication::translate("qdoc", "Do not generate documentation for examples"));
- addOption(noExamplesOption);
-
- indexDirOption.setDescription(QCoreApplication::translate("qdoc", "Specify a directory where QDoc should search for index files to load"));
- indexDirOption.setValueName(QStringLiteral("dir"));
- addOption(indexDirOption);
-
- installDirOption.setDescription(QCoreApplication::translate("qdoc", "Specify the directory where the output will be after running \"make install\""));
- installDirOption.setValueName(QStringLiteral("dir"));
- addOption(installDirOption);
-
- obsoleteLinksOption.setDescription(QCoreApplication::translate("qdoc", "Report links from obsolete items to non-obsolete items"));
- addOption(obsoleteLinksOption);
-
- outputDirOption.setDescription(QCoreApplication::translate("qdoc", "Specify output directory, overrides setting in qdocconf file"));
- outputDirOption.setValueName(QStringLiteral("dir"));
- addOption(outputDirOption);
-
- outputFormatOption.setDescription(QCoreApplication::translate("qdoc", "Specify output format, overrides setting in qdocconf file"));
- outputFormatOption.setValueName(QStringLiteral("format"));
- addOption(outputFormatOption);
-
- noLinkErrorsOption.setDescription(QCoreApplication::translate("qdoc", "Do not print link errors (i.e. missing targets)"));
- addOption(noLinkErrorsOption);
-
- autoLinkErrorsOption.setDescription(QCoreApplication::translate("qdoc", "Show errors when automatic linking fails"));
- addOption(autoLinkErrorsOption);
-
- debugOption.setDescription(QCoreApplication::translate("qdoc", "Enable debug output"));
- addOption(debugOption);
-
- prepareOption.setDescription(QCoreApplication::translate("qdoc", "Run qdoc only to generate an index file, not the docs"));
- addOption(prepareOption);
-
- generateOption.setDescription(QCoreApplication::translate("qdoc", "Run qdoc to read the index files and generate the docs"));
- addOption(generateOption);
-
- logProgressOption.setDescription(QCoreApplication::translate("qdoc", "Log progress on stderr."));
- addOption(logProgressOption);
-
- singleExecOption.setDescription(QCoreApplication::translate("qdoc", "Run qdoc once over all the qdoc conf files."));
- addOption(singleExecOption);
-
- writeQaPagesOption.setDescription(QCoreApplication::translate("qdoc", "Write QA pages."));
- addOption(writeQaPagesOption);
-
- includePathOption.setFlags(QCommandLineOption::ShortOptionStyle);
- addOption(includePathOption);
-
- addOption(includePathSystemOption);
-
- frameworkOption.setFlags(QCommandLineOption::ShortOptionStyle);
- addOption(frameworkOption);
-}
-
-void QDocCommandLineParser::process(const QCoreApplication &app)
-{
- QCommandLineParser::process(app);
-
- defines += values(defineOption);
- dependModules += values(dependsOption);
- highlighting = isSet(highlightingOption);
- showInternal = isSet(showInternalOption);
- singleExec = isSet(singleExecOption);
- writeQaPages = isSet(writeQaPagesOption);
- redirectDocumentationToDevNull = isSet(redirectDocumentationToDevNullOption);
- Config::generateExamples = !isSet(noExamplesOption);
- foreach (const QString &indexDir, values(indexDirOption)) {
- if (QFile::exists(indexDir))
- indexDirs += indexDir;
- else
- qDebug() << "Cannot find index directory" << indexDir;
- }
- if (isSet(installDirOption))
- Config::installDir = value(installDirOption);
- obsoleteLinks = isSet(obsoleteLinksOption);
- if (isSet(outputDirOption))
- Config::overrideOutputDir = value(outputDirOption);
- foreach (const QString &format, values(outputFormatOption))
- Config::overrideOutputFormats.insert(format);
- noLinkErrors = isSet(noLinkErrorsOption) || qEnvironmentVariableIsSet("QDOC_NOLINKERRORS");
- autolinkErrors = isSet(autoLinkErrorsOption);
- if (isSet(debugOption))
- Generator::startDebugging(QString("command line"));
- qCDebug(lcQdoc).noquote() << "Arguments :" << QCoreApplication::arguments();
-
- if (isSet(prepareOption))
- Generator::setQDocPass(Generator::Prepare);
- if (isSet(generateOption))
- Generator::setQDocPass(Generator::Generate);
- if (isSet(singleExecOption)) {
- Generator::setSingleExec();
- if (isSet(indexDirOption))
- qDebug() << "WARNING: -indexdir option ignored: Index files are not used in -single-exec mode.";
- }
- if (isSet(writeQaPagesOption))
- Generator::setWriteQaPages();
- if (isSet(logProgressOption))
- Location::startLoggingProgress();
-
- QDir currentDir = QDir::current();
- const auto paths = values(includePathOption);
- for (const auto &i : paths)
- includesPaths << "-I" << currentDir.absoluteFilePath(i);
-#ifdef QDOC_PASS_ISYSTEM
- const auto paths2 = values(includePathSystemOption);
- for (const auto &i : paths2)
- includesPaths << "-isystem" << currentDir.absoluteFilePath(i);
-#endif
- const auto paths3 = values(frameworkOption);
- for (const auto &i : paths3)
- includesPaths << "-F" << currentDir.absoluteFilePath(i);
-
- /*
- The default indent for code is 0.
- The default value for false is 0.
- The default supported file extensions are cpp, h, qdoc and qml.
- The default language is c++.
- The default output format is html.
- The default tab size is 8.
- And those are all the default values for configuration variables.
- */
- if (defaults.isEmpty()) {
- defaults.insert(CONFIG_CODEINDENT, QLatin1String("0"));
- defaults.insert(CONFIG_FALSEHOODS, QLatin1String("0"));
- defaults.insert(CONFIG_FILEEXTENSIONS, QLatin1String("*.cpp *.h *.qdoc *.qml"));
- defaults.insert(CONFIG_LANGUAGE, QLatin1String("Cpp"));
- defaults.insert(CONFIG_OUTPUTFORMATS, QLatin1String("HTML"));
- defaults.insert(CONFIG_TABSIZE, QLatin1String("8"));
- }
-}
-
QT_END_NAMESPACE
int main(int argc, char **argv)
@@ -772,21 +566,21 @@ int main(int argc, char **argv)
// Set the globals declared at the top of this file:
QDocCommandLineParser parser;
- parser.process(app);
+ parser.process(app, qdocGlobals);
// Get the list of files to act on:
QStringList qdocFiles = parser.positionalArguments();
if (qdocFiles.isEmpty())
parser.showHelp();
- if (singleExec)
+ if (qdocGlobals.singleExec())
qdocFiles = Config::loadMaster(qdocFiles.at(0));
// Main loop (adapted, when needed, to handle single exec mode):
if (Generator::singleExec())
Generator::setQDocPass(Generator::Prepare);
foreach (const QString &qf, qdocFiles) {
- dependModules.clear();
+ qdocGlobals.dependModules().clear();
processQdocconfFile(qf);
}
if (Generator::singleExec()) {
@@ -794,7 +588,7 @@ int main(int argc, char **argv)
QDocDatabase* qdb = QDocDatabase::qdocDB();
qdb->processForest();
foreach (const QString &qf, qdocFiles) {
- dependModules.clear();
+ qdocGlobals.dependModules().clear();
processQdocconfFile(qf);
}
}