build: allow to disable language support in cmake
* in addition: add unloadable sourcegroup to visualize, load and save information when loading a project that contains source groups that are not supported by the build
This commit is contained in:
@@ -397,6 +397,7 @@ add_files(
|
||||
settings/source_group/type/SourceGroupSettingsJavaGradle.h
|
||||
settings/source_group/type/SourceGroupSettingsJavaMaven.h
|
||||
settings/source_group/type/SourceGroupSettingsPythonEmpty.h
|
||||
settings/source_group/type/SourceGroupSettingsUnloadable.h
|
||||
|
||||
settings/source_group/SourceGroupSettings.cpp
|
||||
settings/source_group/SourceGroupSettings.h
|
||||
|
||||
@@ -4,12 +4,18 @@ std::string indexerCommandTypeToString(IndexerCommandType type)
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
case INDEXER_COMMAND_CXX:
|
||||
return "indexer_command_cxx";
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
case INDEXER_COMMAND_JAVA:
|
||||
return "indexer_command_java";
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case INDEXER_COMMAND_PYTHON:
|
||||
return "indexer_command_python";
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case INDEXER_COMMAND_CUSTOM:
|
||||
return "indexer_command_custom";
|
||||
default:
|
||||
@@ -20,8 +26,15 @@ std::string indexerCommandTypeToString(IndexerCommandType type)
|
||||
|
||||
IndexerCommandType stringToIndexerCommandType(const std::string& s)
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
if (s == indexerCommandTypeToString(INDEXER_COMMAND_CXX)) return INDEXER_COMMAND_CXX;
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
if (s == indexerCommandTypeToString(INDEXER_COMMAND_JAVA)) return INDEXER_COMMAND_JAVA;
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
if (s == indexerCommandTypeToString(INDEXER_COMMAND_PYTHON)) return INDEXER_COMMAND_PYTHON;
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
if (s == indexerCommandTypeToString(INDEXER_COMMAND_CUSTOM)) return INDEXER_COMMAND_CUSTOM;
|
||||
return INDEXER_COMMAND_UNKNOWN;
|
||||
}
|
||||
|
||||
@@ -1,14 +1,22 @@
|
||||
#ifndef INDEXER_COMMAND_TYPE_H
|
||||
#define INDEXER_COMMAND_TYPE_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
enum IndexerCommandType
|
||||
{
|
||||
INDEXER_COMMAND_UNKNOWN,
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
INDEXER_COMMAND_CXX,
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
INDEXER_COMMAND_JAVA,
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
INDEXER_COMMAND_PYTHON,
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
INDEXER_COMMAND_CUSTOM
|
||||
};
|
||||
|
||||
|
||||
@@ -52,11 +52,12 @@ void TaskExecuteCustomCommands::doEnter(std::shared_ptr<Blackboard> blackboard)
|
||||
{
|
||||
m_targetDatabaseFilePath = indexerCommand->getDatabaseFilePath();
|
||||
}
|
||||
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
if (indexerCommand->getIndexerCommandType() == INDEXER_COMMAND_PYTHON)
|
||||
{
|
||||
m_hasPythonCommands = true;
|
||||
}
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
|
||||
if (indexerCommand->getRunInParallel())
|
||||
{
|
||||
|
||||
@@ -10,6 +10,7 @@ void SharedIndexerCommand::fromLocal(IndexerCommand* indexerCommand)
|
||||
{
|
||||
setSourceFilePath(indexerCommand->getSourceFilePath());
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
if (dynamic_cast<IndexerCommandCxx*>(indexerCommand) != nullptr)
|
||||
{
|
||||
IndexerCommandCxx* cmd = dynamic_cast<IndexerCommandCxx*>(indexerCommand);
|
||||
@@ -20,29 +21,34 @@ void SharedIndexerCommand::fromLocal(IndexerCommand* indexerCommand)
|
||||
setIncludeFilters(cmd->getIncludeFilters());
|
||||
setWorkingDirectory(cmd->getWorkingDirectory());
|
||||
setCompilerFlags(cmd->getCompilerFlags());
|
||||
return;
|
||||
}
|
||||
else if (dynamic_cast<IndexerCommandJava*>(indexerCommand) != nullptr)
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
if (dynamic_cast<IndexerCommandJava*>(indexerCommand) != nullptr)
|
||||
{
|
||||
IndexerCommandJava* cmd = dynamic_cast<IndexerCommandJava*>(indexerCommand);
|
||||
|
||||
setType(JAVA);
|
||||
setLanguageStandard(cmd->getLanguageStandard());
|
||||
setClassPaths(cmd->getClassPath());
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_ERROR(L"Trying to push unhandled type of IndexerCommand for file: " +
|
||||
indexerCommand->getSourceFilePath().wstr() + L". Type string is: " +
|
||||
utility::decodeFromUtf8(indexerCommandTypeToString(indexerCommand->getIndexerCommandType())) +
|
||||
L". It will be ignored.");
|
||||
}
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
LOG_ERROR(L"Trying to push unhandled type of IndexerCommand for file: " +
|
||||
indexerCommand->getSourceFilePath().wstr() + L". Type string is: " +
|
||||
utility::decodeFromUtf8(indexerCommandTypeToString(indexerCommand->getIndexerCommandType())) +
|
||||
L". It will be ignored.");
|
||||
}
|
||||
|
||||
std::shared_ptr<IndexerCommand> SharedIndexerCommand::fromShared(const SharedIndexerCommand& indexerCommand)
|
||||
{
|
||||
if (indexerCommand.getType() == CXX)
|
||||
switch (indexerCommand.getType())
|
||||
{
|
||||
std::shared_ptr<IndexerCommand> command = std::make_shared<IndexerCommandCxx>(
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
case CXX:
|
||||
return std::make_shared<IndexerCommandCxx>(
|
||||
indexerCommand.getSourceFilePath(),
|
||||
indexerCommand.getIndexedPaths(),
|
||||
indexerCommand.getExcludeFilters(),
|
||||
@@ -50,18 +56,16 @@ std::shared_ptr<IndexerCommand> SharedIndexerCommand::fromShared(const SharedInd
|
||||
indexerCommand.getWorkingDirectory(),
|
||||
indexerCommand.getCompilerFlags()
|
||||
);
|
||||
return command;
|
||||
}
|
||||
else if (indexerCommand.getType() == JAVA)
|
||||
{
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
case JAVA:
|
||||
return std::make_shared<IndexerCommandJava>(
|
||||
indexerCommand.getSourceFilePath(),
|
||||
indexerCommand.getLanguageStandard(),
|
||||
indexerCommand.getClassPaths()
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
default:
|
||||
LOG_ERROR(L"Cannot convert shared IndexerCommand for file: " +
|
||||
indexerCommand.getSourceFilePath().wstr() + L". The type is unknown.");
|
||||
}
|
||||
@@ -73,13 +77,17 @@ std::shared_ptr<IndexerCommand> SharedIndexerCommand::fromShared(const SharedInd
|
||||
SharedIndexerCommand::SharedIndexerCommand(SharedMemory::Allocator* allocator)
|
||||
: m_type(Type::UNKNOWN)
|
||||
, m_sourceFilePath("", allocator)
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
, m_indexedPaths(allocator)
|
||||
, m_excludeFilters(allocator)
|
||||
, m_includeFilters(allocator)
|
||||
, m_workingDirectory("", allocator)
|
||||
, m_languageStandard("", allocator)
|
||||
, m_compilerFlags(allocator)
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
, m_languageStandard("", allocator)
|
||||
, m_classPaths(allocator)
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
{
|
||||
}
|
||||
|
||||
@@ -97,6 +105,8 @@ void SharedIndexerCommand::setSourceFilePath(const FilePath& filePath)
|
||||
m_sourceFilePath = utility::encodeToUtf8(filePath.wstr()).c_str();
|
||||
}
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
std::set<FilePath> SharedIndexerCommand::getIndexedPaths() const
|
||||
{
|
||||
std::set<FilePath> result;
|
||||
@@ -179,16 +189,6 @@ void SharedIndexerCommand::setWorkingDirectory(const FilePath& workingDirectory)
|
||||
m_workingDirectory = utility::encodeToUtf8(workingDirectory.wstr()).c_str();
|
||||
}
|
||||
|
||||
std::wstring SharedIndexerCommand::getLanguageStandard() const
|
||||
{
|
||||
return utility::decodeFromUtf8(m_languageStandard.c_str());
|
||||
}
|
||||
|
||||
void SharedIndexerCommand::setLanguageStandard(const std::wstring& languageStandard)
|
||||
{
|
||||
m_languageStandard = utility::encodeToUtf8(languageStandard).c_str();
|
||||
}
|
||||
|
||||
std::vector<std::wstring> SharedIndexerCommand::getCompilerFlags() const
|
||||
{
|
||||
std::vector<std::wstring> result;
|
||||
@@ -215,6 +215,20 @@ void SharedIndexerCommand::setCompilerFlags(const std::vector<std::wstring>& com
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
std::wstring SharedIndexerCommand::getLanguageStandard() const
|
||||
{
|
||||
return utility::decodeFromUtf8(m_languageStandard.c_str());
|
||||
}
|
||||
|
||||
void SharedIndexerCommand::setLanguageStandard(const std::wstring& languageStandard)
|
||||
{
|
||||
m_languageStandard = utility::encodeToUtf8(languageStandard).c_str();
|
||||
}
|
||||
|
||||
std::vector<FilePath> SharedIndexerCommand::getClassPaths() const
|
||||
{
|
||||
std::vector<FilePath> result;
|
||||
@@ -241,6 +255,8 @@ void SharedIndexerCommand::setClassPaths(const std::vector<FilePath>& classPaths
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
SharedIndexerCommand::Type SharedIndexerCommand::getType() const
|
||||
{
|
||||
return m_type;
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include <set>
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "FilePathFilter.h"
|
||||
#include "SharedMemory.h"
|
||||
@@ -21,6 +23,8 @@ public:
|
||||
FilePath getSourceFilePath() const;
|
||||
void setSourceFilePath(const FilePath& filePath);
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
std::set<FilePath> getIndexedPaths() const;
|
||||
void setIndexedPaths(const std::set<FilePath>& indexedPaths);
|
||||
|
||||
@@ -33,21 +37,30 @@ public:
|
||||
FilePath getWorkingDirectory() const;
|
||||
void setWorkingDirectory(const FilePath& workingDirectory);
|
||||
|
||||
std::wstring getLanguageStandard() const;
|
||||
void setLanguageStandard(const std::wstring& languageStandard);
|
||||
|
||||
std::vector<std::wstring> getCompilerFlags() const;
|
||||
void setCompilerFlags(const std::vector<std::wstring>& compilerFlags);
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
std::wstring getLanguageStandard() const;
|
||||
void setLanguageStandard(const std::wstring& languageStandard);
|
||||
|
||||
std::vector<FilePath> getClassPaths() const;
|
||||
void setClassPaths(const std::vector<FilePath>& classPaths);
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
private:
|
||||
enum Type
|
||||
{
|
||||
UNKNOWN = 0,
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
CXX,
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
JAVA
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
};
|
||||
|
||||
Type getType() const;
|
||||
@@ -57,17 +70,19 @@ private:
|
||||
|
||||
// indexer command
|
||||
SharedMemory::String m_sourceFilePath;
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
SharedMemory::Vector<SharedMemory::String> m_indexedPaths;
|
||||
SharedMemory::Vector<SharedMemory::String> m_excludeFilters;
|
||||
SharedMemory::Vector<SharedMemory::String> m_includeFilters;
|
||||
|
||||
// cxx
|
||||
SharedMemory::String m_workingDirectory;
|
||||
SharedMemory::String m_languageStandard;
|
||||
SharedMemory::Vector<SharedMemory::String> m_compilerFlags;
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
// java
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
SharedMemory::String m_languageStandard;
|
||||
SharedMemory::Vector<SharedMemory::String> m_classPaths;
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
};
|
||||
|
||||
#endif // SHARED_INDEXER_COMMAND_H
|
||||
|
||||
@@ -30,10 +30,18 @@ void SqliteBookmarkStorage::migrateIfNecessary()
|
||||
std::shared_ptr<const Project> currentProject = Application::getInstance()->getCurrentProject();
|
||||
{
|
||||
LanguageType currentLanguage = ProjectSettings::getLanguageOfProject(currentProject->getProjectSettingsFilePath());
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
if (currentLanguage == LANGUAGE_JAVA)
|
||||
{
|
||||
separator = ".";
|
||||
}
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
if (currentLanguage == LANGUAGE_PYTHON)
|
||||
{
|
||||
separator = ".";
|
||||
}
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
}
|
||||
}
|
||||
migration->executeStatementInStorage(storage, "UPDATE bookmarked_node SET serialized_node_name = '" + separator + "\tm' || serialized_node_name");
|
||||
|
||||
+29
-10
@@ -418,20 +418,32 @@ void Project::buildIndex(RefreshInfo info, std::shared_ptr<DialogView> dialogVie
|
||||
return;
|
||||
}
|
||||
|
||||
if (info.mode != REFRESH_ALL_FILES && info.filesToClear.empty() && info.filesToIndex.empty())
|
||||
{
|
||||
if (m_hasGUI)
|
||||
std::wstring message;
|
||||
if (info.mode != REFRESH_ALL_FILES && info.filesToClear.empty() && info.filesToIndex.empty())
|
||||
{
|
||||
dialogView->clearDialogs();
|
||||
message = L"Nothing to refresh, all files are up-to-date.";
|
||||
}
|
||||
else
|
||||
else if (m_sourceGroups.empty())
|
||||
{
|
||||
MessageIndexingFinished().dispatch();
|
||||
message = L"Nothing to refresh, no Source Groups loaded.";
|
||||
}
|
||||
|
||||
MessageStatus(L"Nothing to refresh, all files are up-to-date.").dispatch();
|
||||
m_refreshStage = RefreshStageType::NONE;
|
||||
return;
|
||||
if (!message.empty())
|
||||
{
|
||||
if (m_hasGUI)
|
||||
{
|
||||
dialogView->clearDialogs();
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageIndexingFinished().dispatch();
|
||||
}
|
||||
|
||||
MessageStatus(message).dispatch();
|
||||
m_refreshStage = RefreshStageType::NONE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (info.mode != REFRESH_ALL_FILES && (info.filesToClear.size() || info.nonIndexedFilesToClear.size()))
|
||||
@@ -520,11 +532,16 @@ void Project::buildIndex(RefreshInfo info, std::shared_ptr<DialogView> dialogVie
|
||||
{
|
||||
if (sourceGroup->getStatus() == SOURCE_GROUP_STATUS_ENABLED)
|
||||
{
|
||||
if (sourceGroup->getType() == SOURCE_GROUP_CUSTOM_COMMAND ||
|
||||
sourceGroup->getType() == SOURCE_GROUP_PYTHON_EMPTY)
|
||||
if (sourceGroup->getType() == SOURCE_GROUP_CUSTOM_COMMAND)
|
||||
{
|
||||
customIndexerCommandProvider->addProvider(sourceGroup->getIndexerCommandProvider(info));
|
||||
}
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
else if (sourceGroup->getType() == SOURCE_GROUP_PYTHON_EMPTY)
|
||||
{
|
||||
customIndexerCommandProvider->addProvider(sourceGroup->getIndexerCommandProvider(info));
|
||||
}
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
else
|
||||
{
|
||||
indexerCommandProvider->addProvider(sourceGroup->getIndexerCommandProvider(info));
|
||||
@@ -775,6 +792,7 @@ void Project::discardTempStorage()
|
||||
|
||||
bool Project::hasCxxSourceGroup() const
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
for (const std::shared_ptr<SourceGroup>& sourceGroup: m_sourceGroups)
|
||||
{
|
||||
if (sourceGroup->getStatus() == SOURCE_GROUP_STATUS_ENABLED)
|
||||
@@ -785,5 +803,6 @@ bool Project::hasCxxSourceGroup() const
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -4,14 +4,20 @@ std::string languageTypeToString(LanguageType t)
|
||||
{
|
||||
switch (t)
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
case LANGUAGE_C:
|
||||
return "C";
|
||||
case LANGUAGE_CPP:
|
||||
return "C++";
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
case LANGUAGE_JAVA:
|
||||
return "Java";
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case LANGUAGE_PYTHON:
|
||||
return "Python";
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case LANGUAGE_CUSTOM:
|
||||
return "Custom";
|
||||
case LANGUAGE_UNKNOWN:
|
||||
@@ -22,23 +28,29 @@ std::string languageTypeToString(LanguageType t)
|
||||
|
||||
LanguageType stringToLanguageType(std::string s)
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
if (s == languageTypeToString(LANGUAGE_C))
|
||||
{
|
||||
return LANGUAGE_C;
|
||||
}
|
||||
else if (s == languageTypeToString(LANGUAGE_CPP))
|
||||
if (s == languageTypeToString(LANGUAGE_CPP))
|
||||
{
|
||||
return LANGUAGE_CPP;
|
||||
}
|
||||
else if (s == languageTypeToString(LANGUAGE_JAVA))
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
if (s == languageTypeToString(LANGUAGE_JAVA))
|
||||
{
|
||||
return LANGUAGE_JAVA;
|
||||
}
|
||||
else if (s == languageTypeToString(LANGUAGE_PYTHON))
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
if (s == languageTypeToString(LANGUAGE_PYTHON))
|
||||
{
|
||||
return LANGUAGE_PYTHON;
|
||||
}
|
||||
else if (s == languageTypeToString(LANGUAGE_CUSTOM))
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
if (s == languageTypeToString(LANGUAGE_CUSTOM))
|
||||
{
|
||||
return LANGUAGE_CUSTOM;
|
||||
}
|
||||
@@ -49,6 +61,7 @@ LanguageType getLanguageTypeForSourceGroupType(SourceGroupType t)
|
||||
{
|
||||
switch (t)
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_C_EMPTY:
|
||||
return LANGUAGE_C;
|
||||
case SOURCE_GROUP_CPP_EMPTY:
|
||||
@@ -59,14 +72,19 @@ LanguageType getLanguageTypeForSourceGroupType(SourceGroupType t)
|
||||
return LANGUAGE_CPP;
|
||||
case SOURCE_GROUP_CXX_VS:
|
||||
return LANGUAGE_CPP;
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_JAVA_EMPTY:
|
||||
return LANGUAGE_JAVA;
|
||||
case SOURCE_GROUP_JAVA_MAVEN:
|
||||
return LANGUAGE_JAVA;
|
||||
case SOURCE_GROUP_JAVA_GRADLE:
|
||||
return LANGUAGE_JAVA;
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_PYTHON_EMPTY:
|
||||
return LANGUAGE_PYTHON;
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_CUSTOM_COMMAND:
|
||||
return LANGUAGE_CUSTOM;
|
||||
default:
|
||||
|
||||
@@ -7,10 +7,16 @@
|
||||
|
||||
enum LanguageType
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
LANGUAGE_CPP,
|
||||
LANGUAGE_C,
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
LANGUAGE_JAVA,
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
LANGUAGE_PYTHON,
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
LANGUAGE_CUSTOM,
|
||||
LANGUAGE_UNKNOWN
|
||||
};
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "SourceGroupSettingsJavaMaven.h"
|
||||
#include "SourceGroupSettingsJavaGradle.h"
|
||||
#include "SourceGroupSettingsPythonEmpty.h"
|
||||
#include "SourceGroupSettingsUnloadable.h"
|
||||
#include "logging.h"
|
||||
#include "utilityFile.h"
|
||||
#include "utilityString.h"
|
||||
@@ -174,6 +175,7 @@ std::vector<std::shared_ptr<SourceGroupSettings>> ProjectSettings::getAllSourceG
|
||||
|
||||
switch (type)
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_C_EMPTY:
|
||||
settings = std::make_shared<SourceGroupSettingsCEmpty>(id, this);
|
||||
break;
|
||||
@@ -186,6 +188,8 @@ std::vector<std::shared_ptr<SourceGroupSettings>> ProjectSettings::getAllSourceG
|
||||
case SOURCE_GROUP_CXX_CODEBLOCKS:
|
||||
settings = std::make_shared<SourceGroupSettingsCxxCodeblocks>(id, this);
|
||||
break;
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_JAVA_EMPTY:
|
||||
settings = std::make_shared<SourceGroupSettingsJavaEmpty>(id, this);
|
||||
break;
|
||||
@@ -195,14 +199,17 @@ std::vector<std::shared_ptr<SourceGroupSettings>> ProjectSettings::getAllSourceG
|
||||
case SOURCE_GROUP_JAVA_GRADLE:
|
||||
settings = std::make_shared<SourceGroupSettingsJavaGradle>(id, this);
|
||||
break;
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_PYTHON_EMPTY:
|
||||
settings = std::make_shared<SourceGroupSettingsPythonEmpty>(id, this);
|
||||
break;
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_CUSTOM_COMMAND:
|
||||
settings = std::make_shared<SourceGroupSettingsCustomCommand>(id, this);
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
settings = std::make_shared<SourceGroupSettingsUnloadable>(id, this);
|
||||
}
|
||||
|
||||
if (settings)
|
||||
@@ -307,6 +314,7 @@ SettingsMigrator ProjectSettings::getMigrations() const
|
||||
const std::string language = migration->getValueFromSettings<std::string>(settings, "language_settings/language", "");
|
||||
|
||||
SourceGroupType type = SOURCE_GROUP_UNKNOWN;
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
if (language == "C" || language == "C++")
|
||||
{
|
||||
const std::string cdbPath = migration->getValueFromSettings<std::string>(settings, sourceGroupKey + "/build_file_path/compilation_db_path", "");
|
||||
@@ -323,7 +331,9 @@ SettingsMigrator ProjectSettings::getMigrations() const
|
||||
type = SOURCE_GROUP_CPP_EMPTY;
|
||||
}
|
||||
}
|
||||
else if (language == "Java")
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
if (language == "Java")
|
||||
{
|
||||
const std::string mavenProjectFilePath = migration->getValueFromSettings<std::string>(settings, sourceGroupKey + "/maven/project_file_path", "");
|
||||
if (!mavenProjectFilePath.empty())
|
||||
@@ -340,7 +350,7 @@ SettingsMigrator ProjectSettings::getMigrations() const
|
||||
type = SOURCE_GROUP_JAVA_EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
migration->setValueInSettings(settings, sourceGroupKey + "/type", sourceGroupTypeToString(type));
|
||||
}
|
||||
));
|
||||
@@ -357,11 +367,13 @@ SettingsMigrator ProjectSettings::getMigrations() const
|
||||
|
||||
for (std::shared_ptr<SourceGroupSettings> sourceGroupSettings : getAllSourceGroupSettings())
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
if (sourceGroupSettings->getType() == SOURCE_GROUP_CXX_CDB)
|
||||
{
|
||||
const std::string key = SourceGroupSettings::s_keyPrefix + sourceGroupSettings->getId();
|
||||
migrator.addMigration(6, std::make_shared<SettingsMigrationMoveKey>(key + "/source_paths/source_path", key + "/indexed_header_paths/indexed_header_path"));
|
||||
}
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
}
|
||||
|
||||
for (std::shared_ptr<SourceGroupSettings> sourceGroupSettings : getAllSourceGroupSettings())
|
||||
@@ -369,15 +381,19 @@ SettingsMigrator ProjectSettings::getMigrations() const
|
||||
std::string languageName;
|
||||
switch (getLanguageTypeForSourceGroupType(sourceGroupSettings->getType()))
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
case LANGUAGE_C:
|
||||
languageName = "c";
|
||||
break;
|
||||
case LANGUAGE_CPP:
|
||||
languageName = "cpp";
|
||||
break;
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
case LANGUAGE_JAVA:
|
||||
languageName = "java";
|
||||
break;
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ std::string sourceGroupTypeToString(SourceGroupType v)
|
||||
{
|
||||
switch (v)
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_C_EMPTY:
|
||||
return "C Source Group";
|
||||
case SOURCE_GROUP_CPP_EMPTY:
|
||||
@@ -14,14 +15,19 @@ std::string sourceGroupTypeToString(SourceGroupType v)
|
||||
return "C/C++ from Code::Blocks";
|
||||
case SOURCE_GROUP_CXX_VS:
|
||||
return "C/C++ from Visual Studio";
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_JAVA_EMPTY:
|
||||
return "Java Source Group";
|
||||
case SOURCE_GROUP_JAVA_MAVEN:
|
||||
return "Java Source Group from Maven";
|
||||
case SOURCE_GROUP_JAVA_GRADLE:
|
||||
return "Java Source Group from Gradle";
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_PYTHON_EMPTY:
|
||||
return "Python Source Group";
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_CUSTOM_COMMAND:
|
||||
return "Custom Command Source Group";
|
||||
case SOURCE_GROUP_UNKNOWN:
|
||||
@@ -34,6 +40,7 @@ std::string sourceGroupTypeToProjectSetupString(SourceGroupType v)
|
||||
{
|
||||
switch (v)
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_C_EMPTY:
|
||||
return "Empty C Source Group";
|
||||
case SOURCE_GROUP_CPP_EMPTY:
|
||||
@@ -44,14 +51,19 @@ std::string sourceGroupTypeToProjectSetupString(SourceGroupType v)
|
||||
return "C/C++ from Code::Blocks";
|
||||
case SOURCE_GROUP_CXX_VS:
|
||||
return "C/C++ from Visual Studio";
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_JAVA_EMPTY:
|
||||
return "Empty Java Source Group";
|
||||
case SOURCE_GROUP_JAVA_MAVEN:
|
||||
return "Java Source Group from Maven";
|
||||
case SOURCE_GROUP_JAVA_GRADLE:
|
||||
return "Java Source Group from Gradle";
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_PYTHON_EMPTY:
|
||||
return "Empty Python Source Group";
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
case SOURCE_GROUP_CUSTOM_COMMAND:
|
||||
return "Custom Command Source Group";
|
||||
case SOURCE_GROUP_UNKNOWN:
|
||||
@@ -62,43 +74,49 @@ std::string sourceGroupTypeToProjectSetupString(SourceGroupType v)
|
||||
|
||||
SourceGroupType stringToSourceGroupType(const std::string& v)
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
if (v == sourceGroupTypeToString(SOURCE_GROUP_C_EMPTY))
|
||||
{
|
||||
return SOURCE_GROUP_C_EMPTY;
|
||||
}
|
||||
else if (v == sourceGroupTypeToString(SOURCE_GROUP_CPP_EMPTY))
|
||||
if (v == sourceGroupTypeToString(SOURCE_GROUP_CPP_EMPTY))
|
||||
{
|
||||
return SOURCE_GROUP_CPP_EMPTY;
|
||||
}
|
||||
else if (v == sourceGroupTypeToString(SOURCE_GROUP_CXX_CDB))
|
||||
if (v == sourceGroupTypeToString(SOURCE_GROUP_CXX_CDB))
|
||||
{
|
||||
return SOURCE_GROUP_CXX_CDB;
|
||||
}
|
||||
else if (v == sourceGroupTypeToString(SOURCE_GROUP_CXX_CODEBLOCKS))
|
||||
if (v == sourceGroupTypeToString(SOURCE_GROUP_CXX_CODEBLOCKS))
|
||||
{
|
||||
return SOURCE_GROUP_CXX_CODEBLOCKS;
|
||||
}
|
||||
else if (v == sourceGroupTypeToString(SOURCE_GROUP_CXX_VS))
|
||||
if (v == sourceGroupTypeToString(SOURCE_GROUP_CXX_VS))
|
||||
{
|
||||
return SOURCE_GROUP_CXX_VS;
|
||||
}
|
||||
else if (v == sourceGroupTypeToString(SOURCE_GROUP_JAVA_EMPTY))
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
if (v == sourceGroupTypeToString(SOURCE_GROUP_JAVA_EMPTY))
|
||||
{
|
||||
return SOURCE_GROUP_JAVA_EMPTY;
|
||||
}
|
||||
else if (v == sourceGroupTypeToString(SOURCE_GROUP_JAVA_MAVEN))
|
||||
if (v == sourceGroupTypeToString(SOURCE_GROUP_JAVA_MAVEN))
|
||||
{
|
||||
return SOURCE_GROUP_JAVA_MAVEN;
|
||||
}
|
||||
else if (v == sourceGroupTypeToString(SOURCE_GROUP_JAVA_GRADLE))
|
||||
if (v == sourceGroupTypeToString(SOURCE_GROUP_JAVA_GRADLE))
|
||||
{
|
||||
return SOURCE_GROUP_JAVA_GRADLE;
|
||||
}
|
||||
else if (v == sourceGroupTypeToString(SOURCE_GROUP_PYTHON_EMPTY))
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
if (v == sourceGroupTypeToString(SOURCE_GROUP_PYTHON_EMPTY))
|
||||
{
|
||||
return SOURCE_GROUP_PYTHON_EMPTY;
|
||||
}
|
||||
else if (v == sourceGroupTypeToString(SOURCE_GROUP_CUSTOM_COMMAND))
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
if (v == sourceGroupTypeToString(SOURCE_GROUP_CUSTOM_COMMAND))
|
||||
{
|
||||
return SOURCE_GROUP_CUSTOM_COMMAND;
|
||||
}
|
||||
|
||||
@@ -1,19 +1,27 @@
|
||||
#ifndef SOURCE_GROUP_TYPE_H
|
||||
#define SOURCE_GROUP_TYPE_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
enum SourceGroupType
|
||||
{
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
SOURCE_GROUP_C_EMPTY,
|
||||
SOURCE_GROUP_CPP_EMPTY,
|
||||
SOURCE_GROUP_CXX_CDB,
|
||||
SOURCE_GROUP_CXX_CODEBLOCKS,
|
||||
SOURCE_GROUP_CXX_VS,
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
SOURCE_GROUP_JAVA_EMPTY,
|
||||
SOURCE_GROUP_JAVA_MAVEN,
|
||||
SOURCE_GROUP_JAVA_GRADLE,
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
SOURCE_GROUP_PYTHON_EMPTY,
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
SOURCE_GROUP_CUSTOM_COMMAND,
|
||||
SOURCE_GROUP_UNKNOWN
|
||||
};
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "SourceGroupSettingsWithCStandard.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
|
||||
std::wstring SourceGroupSettingsWithCStandard::getDefaultCStandardStatic()
|
||||
@@ -67,3 +69,5 @@ std::wstring SourceGroupSettingsWithCStandard::getDefaultCStandard() const
|
||||
{
|
||||
return getDefaultCStandardStatic();
|
||||
}
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_C_STANDARD_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_C_STANDARD_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
@@ -30,4 +34,6 @@ private:
|
||||
std::wstring m_cStandard;
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_C_STANDARD_H
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "SourceGroupSettingsWithCppStandard.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
|
||||
std::wstring SourceGroupSettingsWithCppStandard::getDefaultCppStandardStatic()
|
||||
@@ -67,3 +69,5 @@ std::wstring SourceGroupSettingsWithCppStandard::getDefaultCppStandard() const
|
||||
{
|
||||
return getDefaultCppStandardStatic();
|
||||
}
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CPP_STANDARD_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CPP_STANDARD_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
@@ -30,4 +34,6 @@ private:
|
||||
std::wstring m_cppStandard;
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CPP_STANDARD_H
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "SourceGroupSettingsWithCxxCdbPath.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
@@ -39,3 +41,5 @@ void SourceGroupSettingsWithCxxCdbPath::save(ConfigManager* config, const std::s
|
||||
{
|
||||
config->setValue(key + "/build_file_path/compilation_db_path", getCompilationDatabasePath().wstr());
|
||||
}
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CXX_CDB_PATH_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CXX_CDB_PATH_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
@@ -24,4 +28,6 @@ private:
|
||||
FilePath m_compilationDatabasePath;
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CXX_CDB_PATH_H
|
||||
|
||||
+4
@@ -1,5 +1,7 @@
|
||||
#include "SourceGroupSettingsWithCxxCodeblocksPath.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
@@ -38,3 +40,5 @@ void SourceGroupSettingsWithCxxCodeblocksPath::save(ConfigManager* config, const
|
||||
{
|
||||
config->setValue(key + "/codeblocks_project_path", getCodeblocksProjectPath().wstr());
|
||||
}
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CXX_CODEBLOCKS_PATH_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CXX_CODEBLOCKS_PATH_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
@@ -24,4 +28,6 @@ private:
|
||||
FilePath m_codeblocksProjectPath;
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CXX_CODEBLOCKS_PATH_H
|
||||
|
||||
+4
-1
@@ -1,7 +1,8 @@
|
||||
#include "SourceGroupSettingsWithCxxCrossCompilationOptions.h"
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
|
||||
std::vector<std::wstring> SourceGroupSettingsWithCxxCrossCompilationOptions::getAvailableArchTypes()
|
||||
{
|
||||
@@ -232,3 +233,5 @@ void SourceGroupSettingsWithCxxCrossCompilationOptions::save(ConfigManager* conf
|
||||
config->setValue(key + "/cross_compilation/target/sys", getTargetSys());
|
||||
config->setValue(key + "/cross_compilation/target/abi", getTargetAbi());
|
||||
}
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
+6
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CXX_CROSS_COMPILATION_OPTIONS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CXX_CROSS_COMPILATION_OPTIONS_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
@@ -47,4 +51,6 @@ private:
|
||||
std::wstring m_targetAbi;
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CXX_CROSS_COMPILATION_OPTIONS_H
|
||||
|
||||
+4
@@ -1,5 +1,7 @@
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#include "utility.h"
|
||||
|
||||
@@ -69,3 +71,5 @@ void SourceGroupSettingsWithCxxPathsAndFlags::save(ConfigManager* config, const
|
||||
config->setValues(key + "/framework_search_paths/framework_search_path", getFrameworkSearchPaths());
|
||||
config->setValues(key + "/compiler_flags/compiler_flag", getCompilerFlags());
|
||||
}
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CXX_PATHS_AND_FLAGS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CXX_PATHS_AND_FLAGS_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "FilePath.h"
|
||||
@@ -35,4 +39,6 @@ private:
|
||||
std::vector<std::wstring> m_compilerFlags;
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CXX_PATHS_AND_FLAGS_H
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "SourceGroupSettingsWithCxxPchOptions.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#include "utility.h"
|
||||
#include "utilityFile.h"
|
||||
@@ -70,3 +72,5 @@ void SourceGroupSettingsWithCxxPchOptions::setPchFlags(const std::vector<std::ws
|
||||
{
|
||||
m_pchFlags = pchFlags;
|
||||
}
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CXX_PCH_OPTIONS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CXX_PCH_OPTIONS_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
@@ -34,4 +38,6 @@ private:
|
||||
bool m_useCompilerFlags = true;
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CXX_PCH_OPTIONS_H
|
||||
|
||||
+4
@@ -1,5 +1,7 @@
|
||||
#include "SourceGroupSettingsWithIndexedHeaderPaths.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#include "utility.h"
|
||||
|
||||
@@ -38,3 +40,5 @@ void SourceGroupSettingsWithIndexedHeaderPaths::save(ConfigManager* config, cons
|
||||
{
|
||||
config->setValues(key + "/indexed_header_paths/indexed_header_path", getIndexedHeaderPaths());
|
||||
}
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
+6
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_INDEXED_HEADER_PATHS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_INDEXED_HEADER_PATHS_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
@@ -27,4 +31,6 @@ private:
|
||||
std::vector<FilePath> m_indexedHeaderPaths;
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_INDEXED_HEADER_PATHS_H
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_C_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_C_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
class SourceGroupSettingsWithSourceExtensionsC
|
||||
@@ -13,4 +17,6 @@ private:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_C_H
|
||||
|
||||
+6
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_CPP_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_CPP_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
class SourceGroupSettingsWithSourceExtensionsCpp
|
||||
@@ -17,4 +21,6 @@ private:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_CPP_H
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "SourceGroupSettingsWithClasspath.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#include "utility.h"
|
||||
|
||||
@@ -50,3 +52,5 @@ void SourceGroupSettingsWithClasspath::save(ConfigManager* config, const std::st
|
||||
config->setValues(key + "/class_paths/class_path", getClasspath());
|
||||
config->setValue(key + "/use_jre_system_library", getUseJreSystemLibrary());
|
||||
}
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CLASSPATH_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CLASSPATH_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "FilePath.h"
|
||||
@@ -30,4 +34,6 @@ private:
|
||||
bool m_useJreSystemLibrary = true;
|
||||
};
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CLASSPATH_H
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "SourceGroupSettingsWithJavaGradle.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ConfigManager.h"
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
@@ -56,3 +58,5 @@ void SourceGroupSettingsWithJavaGradle::save(ConfigManager* config, const std::s
|
||||
config->setValue(key + "/gradle/project_file_path", getGradleProjectFilePath().wstr());
|
||||
config->setValue(key + "/gradle/should_index_tests", getShouldIndexGradleTests());
|
||||
}
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_JAVA_GRADLE_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_JAVA_GRADLE_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
@@ -30,4 +34,6 @@ private:
|
||||
bool m_shouldIndexGradleTests = false;
|
||||
};
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_JAVA_GRADLE_H
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "SourceGroupSettingsWithJavaMaven.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ConfigManager.h"
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
@@ -56,3 +58,5 @@ void SourceGroupSettingsWithJavaMaven::save(ConfigManager* config, const std::st
|
||||
config->setValue(key + "/maven/project_file_path", getMavenProjectFilePath().wstr());
|
||||
config->setValue(key + "/maven/should_index_tests", getShouldIndexMavenTests());
|
||||
}
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_JAVA_MAVEN_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_JAVA_MAVEN_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
@@ -30,4 +34,6 @@ private:
|
||||
bool m_shouldIndexMavenTests = false;
|
||||
};
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_JAVA_MAVEN_H
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "SourceGroupSettingsWithJavaStandard.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
|
||||
std::wstring SourceGroupSettingsWithJavaStandard::getDefaultJavaStandardStatic()
|
||||
@@ -50,3 +52,5 @@ std::wstring SourceGroupSettingsWithJavaStandard::getDefaultJavaStandard() const
|
||||
{
|
||||
return getDefaultJavaStandardStatic();
|
||||
}
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_JAVA_STANDARD_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_JAVA_STANDARD_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
@@ -30,4 +34,6 @@ private:
|
||||
std::wstring m_javaStandard;
|
||||
};
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_JAVA_STANDARD_H
|
||||
|
||||
+6
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_JAVA_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_JAVA_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
class SourceGroupSettingsWithSourceExtensionsJava
|
||||
@@ -13,4 +17,6 @@ private:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_JAVA_H
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_C_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_C_EMPTY_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithCStandard.h"
|
||||
#include "SourceGroupSettingsWithCxxCrossCompilationOptions.h"
|
||||
@@ -32,4 +36,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_C_EMPTY_H
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CPP_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_CPP_EMPTY_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithCppStandard.h"
|
||||
#include "SourceGroupSettingsWithCxxCrossCompilationOptions.h"
|
||||
@@ -32,4 +36,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CPP_EMPTY_H
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CXX_CDB_H
|
||||
#define SOURCE_GROUP_SETTINGS_CXX_CDB_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithCxxCdbPath.h"
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
@@ -28,4 +32,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CXX_CDB_H
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CXX_CDB_VS_H
|
||||
#define SOURCE_GROUP_SETTINGS_CXX_CDB_VS_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsCxxCdb.h"
|
||||
|
||||
class SourceGroupSettingsCxxCdbVs
|
||||
@@ -9,4 +13,6 @@ class SourceGroupSettingsCxxCdbVs
|
||||
using SourceGroupSettingsCxxCdb::SourceGroupSettingsCxxCdb;
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CXX_CDB_VS_H
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CXX_CODEBLOCKS_H
|
||||
#define SOURCE_GROUP_SETTINGS_CXX_CODEBLOCKS_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithCppStandard.h"
|
||||
#include "SourceGroupSettingsWithCStandard.h"
|
||||
@@ -32,4 +36,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILD_CXX_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CXX_CODEBLOCKS_H
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_JAVA_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_JAVA_EMPTY_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithClasspath.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
@@ -28,4 +32,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_JAVA_EMPTY_H
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_JAVA_GRADLE_H
|
||||
#define SOURCE_GROUP_SETTINGS_JAVA_GRADLE_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithJavaGradle.h"
|
||||
@@ -26,4 +30,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_JAVA_GRADLE_H
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_JAVA_MAVEN_H
|
||||
#define SOURCE_GROUP_SETTINGS_JAVA_MAVEN_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithJavaMaven.h"
|
||||
@@ -26,4 +30,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_JAVA_MAVEN_H
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_PYTHON_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_PYTHON_EMPTY_H
|
||||
|
||||
#include "language_packages.h"
|
||||
|
||||
#if BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithPythonEnvironmentPath.h"
|
||||
@@ -26,4 +30,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BUILD_PYTHON_LANGUAGE_PACKAGE
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_PYTHON_EMPTY_H
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_UNLOADABLE_H
|
||||
#define SOURCE_GROUP_SETTINGS_UNLOADABLE_H
|
||||
|
||||
#include "SourceGroupSettings.h"
|
||||
|
||||
class SourceGroupSettingsUnloadable : public SourceGroupSettings
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsUnloadable(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettings(SOURCE_GROUP_UNKNOWN, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsUnloadable>(*this);
|
||||
}
|
||||
|
||||
void loadSettings(const ConfigManager* config) override
|
||||
{
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettings::load(config, key);
|
||||
setStatus(SOURCE_GROUP_STATUS_DISABLED);
|
||||
|
||||
m_content.clear();
|
||||
|
||||
std::vector<std::string> unprocessedKeys = { key };
|
||||
|
||||
while (!unprocessedKeys.empty())
|
||||
{
|
||||
const std::string unprocessedKey = unprocessedKeys.back();
|
||||
unprocessedKeys.pop_back();
|
||||
for (const std::string& memberKey : config->getSublevelKeys(unprocessedKey))
|
||||
{
|
||||
const std::vector<std::string> values = config->getValuesOrDefaults<std::string>(memberKey, {});
|
||||
if (!values.empty())
|
||||
{
|
||||
m_content[memberKey] = values;
|
||||
}
|
||||
else
|
||||
{
|
||||
unprocessedKeys.push_back(memberKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void saveSettings(ConfigManager* config) override
|
||||
{
|
||||
for (auto it : m_content)
|
||||
{
|
||||
config->setValues(it.first, it.second);
|
||||
}
|
||||
}
|
||||
|
||||
bool equalsSettings(const SourceGroupSettingsBase* other) override
|
||||
{
|
||||
if (!SourceGroupSettings::equals(other))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
//compare values
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private:
|
||||
std::map<std::string, std::vector<std::string>> m_content;
|
||||
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_UNLOADABLE_H
|
||||
Reference in New Issue
Block a user