18#include <unordered_map>
32static std::unordered_map<std::string,std::string>
g_symbolMap;
43 QCString htagsOptions =
"";
47 if (inputSource.empty())
51 else if (inputSource.size()==1)
55 err(
"Cannot find directory %s. "
56 "Check the value of the INPUT tag in the configuration file.\n",
57 inputSource.back().c_str()
62 err(
"If you use USE_HTAGS then INPUT should specify a single directory.\n");
69 QCString commandLine =
" -g -s -a -n ";
70 if (!quiet) commandLine +=
"-v ";
71 if (warnings) commandLine +=
"-w ";
75 commandLine += htagsOptions;
79 commandLine +=
"-t \"";
80 commandLine += projectName;
84 commandLine += projectNumber;
88 commandLine +=
" \"" + htmldir +
"\"";
95 err(
"Problems running %s. Check your installation\n",
"htags");
109 QCString fileMapName = htmlDir+
"/HTML/FILEMAP";
110 FileInfo fi(fileMapName.
str());
128 while (getline(f,lineStr))
130 QCString line(lineStr);
132 int sep = line.
find(
'\t');
138 if (ext!=-1) value=value.
left(ext);
147 err(
"file %s cannot be opened\n",
qPrint(fileMapName));
159 QCString url,symName=path;
162 if (symName.
length()>dl+1)
164 symName = symName.
mid(dl+1);
172 url = QCString(
"HTML/"+it->second);
Class representing a directory in the file system.
static std::string currentDirPath()
std::string absPath() const
void setPath(const std::string &path)
static bool setCurrent(const std::string &path)
This is an alternative implementation of QCString.
int find(char c, int index=0, bool cs=TRUE) const
size_t length() const
Returns the length of the string, not counting the 0-terminator.
QCString mid(size_t index, size_t len=static_cast< size_t >(-1)) const
bool isEmpty() const
Returns TRUE iff the string is empty.
QCString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
const std::string & str() const
int findRev(char c, int index=-1, bool cs=TRUE) const
QCString left(size_t len) const
#define Config_getList(name)
#define Config_getBool(name)
#define Config_getString(name)
std::vector< std::string > StringVector
std::ifstream openInputStream(const QCString &name, bool binary=false, bool openAtEnd=false)
int system(const QCString &command, const QCString &args, bool commandHasConsole=true)
Portable versions of functions that are platform dependent.
const char * qPrint(const char *s)
A bunch of utility functions.