logic: compilationdatabase parsing
* compilationdatabase cleaned * add SolutionparserCompliationDatabase * added cmake_build_type_init as release for better autocomplition on linux * external source handling for different linux versions * clean script remove windows symbolic links only on windows * linux external lib handling for different build easier
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
#ifndef COATI_SOLUTIONPARSERCOMPILATIONDATABASE_H
|
||||
#define COATI_SOLUTIONPARSERCOMPILATIONDATABASE_H
|
||||
|
||||
#include "utility/solution/ISolutionParser.h"
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
class FilePath;
|
||||
namespace clang
|
||||
{
|
||||
namespace tooling
|
||||
{
|
||||
class JSONCompilationDatabase;
|
||||
}
|
||||
}
|
||||
|
||||
class SolutionParserCompilationDatabase : public ISolutionParser
|
||||
{
|
||||
public:
|
||||
SolutionParserCompilationDatabase();
|
||||
~SolutionParserCompilationDatabase();
|
||||
|
||||
virtual std::string getSolutionName();
|
||||
virtual std::vector<std::string> getProjects();
|
||||
virtual std::vector<std::string> getProjectFiles();
|
||||
virtual std::vector<std::string> getProjectItems();
|
||||
virtual std::vector<std::string> getIncludePaths();
|
||||
|
||||
private:
|
||||
std::shared_ptr<clang::tooling::JSONCompilationDatabase> m_database;
|
||||
clang::tooling::JSONCompilationDatabase* getDatabase();
|
||||
std::string getIncludePath(const std::string& argument, const std::string& dir);
|
||||
};
|
||||
|
||||
|
||||
#endif //COATI_SOLUTIONPARSERCOMPILATIONDATABASE_H
|
||||
Reference in New Issue
Block a user