Files
Sourcetrail/src/lib/settings/source_group/component/cxx/SourceGroupSettingsWithCxxCrossCompilationOptions.h
T
mlangkabel c38117ab8b 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
2019-11-13 17:26:06 +01:00

57 lines
1.6 KiB
C++

#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"
class SourceGroupSettingsWithCxxCrossCompilationOptions
: public SourceGroupSettingsComponent
{
public:
static std::vector<std::wstring> getAvailableArchTypes();
static std::vector<std::wstring> getAvailableVendorTypes();
static std::vector<std::wstring> getAvailableOsTypes();
static std::vector<std::wstring> getAvailableEnvironmentTypes();
virtual ~SourceGroupSettingsWithCxxCrossCompilationOptions() = default;
bool getTargetOptionsEnabled() const;
void setTargetOptionsEnabled(bool targetOptionsEnabled);
std::wstring getTargetArch() const;
void setTargetArch(const std::wstring& arch);
std::wstring getTargetVendor() const;
void setTargetVendor(const std::wstring& vendor);
std::wstring getTargetSys() const;
void setTargetSys(const std::wstring& sys);
std::wstring getTargetAbi() const;
void setTargetAbi(const std::wstring& abi);
std::wstring getTargetFlag() const;
protected:
bool equals(const SourceGroupSettingsBase* other) const override;
void load(const ConfigManager* config, const std::string& key) override;
void save(ConfigManager* config, const std::string& key) override;
private:
bool m_targetOptionsEnabled = false;
std::wstring m_targetArch;
std::wstring m_targetVendor;
std::wstring m_targetSys;
std::wstring m_targetAbi;
};
#endif // BUILD_CXX_LANGUAGE_PACKAGE
#endif // SOURCE_GROUP_SETTINGS_WITH_CXX_CROSS_COMPILATION_OPTIONS_H