#ifndef SOURCE_GROUP_SETTINGS_CXX_H #define SOURCE_GROUP_SETTINGS_CXX_H #include "settings/SourceGroupSettings.h" class SourceGroupSettingsCxx : public SourceGroupSettings { public: static std::vector getAvailableArchTypes(); static std::vector getAvailableVendorTypes(); static std::vector getAvailableOsTypes(); static std::vector getAvailableEnvironmentTypes(); SourceGroupSettingsCxx(const std::string& id, SourceGroupType type, const ProjectSettings* projectSettings); virtual ~SourceGroupSettingsCxx(); virtual bool equals(std::shared_ptr other) const; virtual std::vector getAvailableLanguageStandards() const; std::vector getHeaderSearchPaths() const; std::vector getHeaderSearchPathsExpandedAndAbsolute() const; void setHeaderSearchPaths(const std::vector& headerSearchPaths); std::vector getFrameworkSearchPaths() const; std::vector getFrameworkSearchPathsExpandedAndAbsolute() const; void setFrameworkSearchPaths(const std::vector& frameworkSearchPaths); bool getTargetOptionsEnabled() const; void setTargetOptionsEnabled(bool targetOptionsEnabled); std::string getTargetArch() const; void setTargetArch(const std::string& arch); std::string getTargetVendor() const; void setTargetVendor(const std::string& vendor); std::string getTargetSys() const; void setTargetSys(const std::string& sys); std::string getTargetAbi() const; void setTargetAbi(const std::string& abi); std::string getTargetFlag() const; std::vector getCompilerFlags() const; void setCompilerFlags(const std::vector& compilerFlags); // deprecated begin bool getUseSourcePathsForHeaderSearch() const; void setUseSourcePathsForHeaderSearch(bool useSourcePathsForHeaderSearch); bool getHasDefinedUseSourcePathsForHeaderSearch() const; void setHasDefinedUseSourcePathsForHeaderSearch(bool hasDefinedUseSourcePathsForHeaderSearch); // deprecated end FilePath getCompilationDatabasePath() const; FilePath getCompilationDatabasePathExpandedAndAbsolute() const; void setCompilationDatabasePath(const FilePath& compilationDatabasePath); bool getShouldApplyAnonymousTypedefTransformation() const; void setShouldApplyAnonymousTypedefTransformation(bool shouldApplyAnonymousTypedefTransformation); private: virtual std::vector getDefaultSourceExtensions() const; virtual std::string getDefaultStandard() const; std::vector m_headerSearchPaths; std::vector m_frameworkSearchPaths; bool m_targetOptionsEnabled; std::string m_targetArch; std::string m_targetSub; std::string m_targetVendor; std::string m_targetSys; std::string m_targetAbi; std::vector m_compilerFlags; bool m_useSourcePathsForHeaderSearch; bool m_hasDefinedUseSourcePathsForHeaderSearch; FilePath m_compilationDatabasePath; bool m_shouldApplyAnonymousTypedefTransformation; }; #endif // SOURCE_GROUP_SETTINGS_CXX_H