22#include <unordered_map>
35static std::unordered_map<std::string,std::string>
g_symbolMap;
50 if (inputSource.empty())
54 else if (inputSource.size()==1)
58 err(
"Cannot find directory {}. "
59 "Check the value of the INPUT tag in the configuration file.\n",
65 err(
"If you use USE_HTAGS then INPUT should specify a single directory.\n");
72 DString commandLine =
" -g -s -a -n ";
73 if (!quiet) commandLine +=
"-v ";
74 if (warnings) commandLine +=
"-w ";
75 if (!htagsOptions.
empty())
78 commandLine += htagsOptions;
80 if (!projectName.
empty())
82 commandLine +=
"-t \"";
83 commandLine += projectName;
84 if (!projectNumber.
empty())
87 commandLine += projectNumber;
91 commandLine +=
" \"" + htmldir +
"\"";
98 err(
"Problems running htags. Check your installation\n");
112 DString fileMapName = htmlDir+
"/HTML/FILEMAP";
131 while (getline(f,lineStr))
139 size_t ext=value.
rfind(
'.');
149 err(
"file {} cannot be opened\n",fileMapName);
164 if (symName.
length()>dl+1)
166 symName = symName.
mid(dl+1);
168 if (!symName.
empty())
174 url =
DString(
"HTML/"+it->second);
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
size_t rfind(char c, size_t pos=npos) const
DString mid(size_t index, size_t len=npos) const
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
static constexpr size_t npos
value used to indicate 'not found' or 'to the end of the string', matching std::string::npos
size_t find(char c, size_t pos=0) const
DString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
DString left(size_t len) const
const std::string & str() const
size_t length() const
Returns the length of the string, not counting the 0-terminator.
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)
Minimal replacement for QFileInfo.
#define Config_getList(name)
#define Config_getBool(name)
#define Config_getString(name)
std::vector< std::string > StringVector
std::ifstream openInputStream(const DString &name, bool binary=false, bool openAtEnd=false)
int system(const DString &command, const DString &args, bool commandHasConsole=true)
Portable versions of functions that are platform dependent.
A bunch of utility functions.