logic: Added compilation database project setup

* Added CDB option to project type selection
* show CDB source files in popup
* define header paths separately
* made generic content summary in wizzard and use it everywhere
* fixed file paths not canonical in analysis
* refactored wizzard content paths to use summary instead of subpaths
* refactored files popup to simpler communication with content

bug id = 35
This commit is contained in:
Eberhard Graether
2016-03-08 13:20:37 +01:00
parent 90c0d15d20
commit 8cc8f5d534
45 changed files with 919 additions and 734 deletions
+2
View File
@@ -24,6 +24,8 @@ public:
bool logErrors;
std::string language;
std::string languageStandard;
FilePath compilationDatabasePath;
};
Parser(ParserClient* client);
+15 -2
View File
@@ -2,7 +2,7 @@
#define TASK_PARSE_CXX_H
#include <memory>
#include <queue>
#include <deque>
#include "data/parser/Parser.h"
#include "utility/scheduling/Task.h"
@@ -12,6 +12,14 @@ class ParserClient;
class FileManager;
class CxxParser;
namespace clang
{
namespace tooling
{
class JSONCompilationDatabase;
}
}
class TaskParseCxx
: public Task
{
@@ -23,6 +31,8 @@ public:
const std::vector<FilePath>& files
);
static std::vector<FilePath> getSourceFilesFromCDB(const FilePath& compilationDatabasePath);
virtual void enter();
virtual TaskState update();
virtual void exit();
@@ -36,9 +46,12 @@ private:
const Parser::Arguments m_arguments;
const std::vector<FilePath> m_files;
std::queue<FilePath> m_sourcePaths;
std::deque<FilePath> m_sourcePaths;
TimePoint m_start;
bool m_isCDB;
std::shared_ptr<clang::tooling::JSONCompilationDatabase> m_cdb;
};
#endif // TASK_PARSE_CXX_H