20 #ifndef importprojectH
21 #define importprojectH
41 bool operator()(
const std::string &lhs,
const std::string &rhs)
const {
66 static void fsParseCommand(
FileSettings& fs,
const std::string& command);
67 static void fsSetDefines(
FileSettings& fs, std::string defs);
68 static void fsSetIncludePaths(
FileSettings& fs,
const std::string &basepath,
const std::list<std::string> &in, std::map<std::string, std::string, cppcheck::stricmp> &variables);
71 Type projectType{Type::NONE};
79 void selectVsConfigurations(
Platform::Type platform,
const std::vector<std::string> &configurations);
81 std::list<std::string> getVSConfigs();
94 void ignorePaths(
const std::vector<std::string> &ipaths);
95 void ignoreOtherConfigs(
const std::string &
cfg);
97 Type import(
const std::string &filename,
Settings *settings=
nullptr);
99 bool importCompileCommands(std::istream &istr);
100 bool importCppcheckGuiProject(std::istream &istr,
Settings *settings);
101 virtual bool sourceFileExists(
const std::string &file);
103 bool importSln(std::istream &istr,
const std::string &path,
const std::vector<std::string> &fileFilters);
104 bool importVcxproj(
const std::string &filename, std::map<std::string, std::string, cppcheck::stricmp> &variables,
const std::string &additionalIncludeDirectories,
const std::vector<std::string> &fileFilters);
105 bool importBcb6Prj(
const std::string &projectFilename);
107 static void printError(
const std::string &message);
109 void setRelativePaths(
const std::string &filename);
123 static constexpr
char Parser[] =
"parser";
167 static constexpr
char Name[] =
"name";
Importing project settings.
std::list< std::string > excludedPaths
std::list< FileSettings > fileSettings
ImportProject(const ImportProject &)=default
ImportProject & operator=(const ImportProject &)=default
std::string analyzeAllVsConfigs
std::set< std::string > mAllVSConfigs
std::list< std::string > checkVsConfigs
virtual ~ImportProject()=default
std::vector< std::string > pathNames
std::list< std::string > libraries
This is just a container for general settings so that we don't need to pass individual values to func...
Information about a class type.
static constexpr char RootPathName[]
static constexpr char VSConfigurationName[]
static constexpr char DirElementName[]
static constexpr char DefineName[]
static constexpr char ExcludePathNameAttrib[]
static constexpr char PathsElementName[]
static constexpr char VariableContractsElementName[]
static constexpr char FunctionContracts[]
static constexpr char DefinesElementName[]
static constexpr char LibrariesElementName[]
static constexpr char ToolsElementName[]
static constexpr char IncludeDirElementName[]
static constexpr char ExcludeElementName[]
static constexpr char ProjectElementName[]
static constexpr char CertIntPrecisionElementName[]
static constexpr char PlatformElementName[]
static constexpr char TagsElementName[]
static constexpr char RootPathNameAttrib[]
static constexpr char CodingStandardElementName[]
static constexpr char IgnorePathNameAttrib[]
static constexpr char CodingStandardsElementName[]
static constexpr char AddonsElementName[]
static constexpr char UndefinesElementName[]
static constexpr char ImportProjectElementName[]
static constexpr char Parser[]
static constexpr char BughuntingElementName[]
static constexpr char AddonElementName[]
static constexpr char ProjectVersionAttrib[]
static constexpr char CheckUnknownFunctionReturn[]
static constexpr char TagWarningsElementName[]
static constexpr char TagAttributeName[]
static constexpr char WarningElementName[]
static constexpr char DefineNameAttrib[]
static constexpr char AnalyzeAllVsConfigsElementName[]
static constexpr char TagElementName[]
static constexpr char ProjectNameElementName[]
static constexpr char BuildDirElementName[]
static constexpr char MaxTemplateRecursionElementName[]
static constexpr char ClangTidy[]
static constexpr char ExcludePathName[]
static constexpr char CheckUnusedTemplatesElementName[]
static constexpr char VSConfigurationElementName[]
static constexpr char CheckLevelExhaustiveElementName[]
static constexpr char DirNameAttrib[]
static constexpr char MaxCtuDepthElementName[]
static constexpr char UndefineName[]
static constexpr char HashAttributeName[]
static constexpr char SuppressionElementName[]
static constexpr char Name[]
static constexpr char IgnoreElementName[]
static constexpr char IgnorePathName[]
static constexpr char ProjectFileVersion[]
static constexpr char ToolElementName[]
static constexpr char SuppressionsElementName[]
static constexpr char CheckHeadersElementName[]
static constexpr char PathName[]
static constexpr char PathNameAttrib[]
static constexpr char LibraryElementName[]
static std::string cfg(const std::vector< std::string > &configs, const std::string &userDefines)
bool operator()(const std::string &lhs, const std::string &rhs) const
int caseInsensitiveStringCompare(const std::string &lhs, const std::string &rhs)