logic: added C/C++ project setup from Code::Blocks

* also changed xml elements in sourcegroup settings that specify the used language standard, so that one sourcegroup can maintain multiple language standards
* added migration and migrated sample projects
This commit is contained in:
mlangkabel
2018-06-08 12:10:38 +02:00
parent ce0a8a6444
commit 704808b26f
86 changed files with 2376 additions and 543 deletions
@@ -0,0 +1,34 @@
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_H
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_H
#include <memory>
#include <string>
#include <vector>
class ConfigManager;
class FilePath;
class ProjectSettings;
class SourceGroupSettingsWithSourceExtensions
{
public:
SourceGroupSettingsWithSourceExtensions();
virtual ~SourceGroupSettingsWithSourceExtensions() = default;
bool equals(std::shared_ptr<SourceGroupSettingsWithSourceExtensions> other) const;
std::vector<std::wstring> getSourceExtensions() const;
void setSourceExtensions(const std::vector<std::wstring>& sourceExtensions);
protected:
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
private:
virtual const ProjectSettings* getProjectSettings() const = 0;
virtual std::vector<std::wstring> getDefaultSourceExtensions() const = 0;
std::vector<std::wstring> m_sourceExtensions;
};
#endif // SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_H