3#include <EditorFramework/CodeGen/CppSettings.h>
4#include <EditorFramework/EditorFrameworkDLL.h>
5#include <EditorFramework/Preferences/Preferences.h>
6#include <Foundation/Communication/Event.h>
7#include <Foundation/Types/VariantType.h>
8#include <Foundation/Types/Status.h>
11struct PL_EDITORFRAMEWORK_DLL
plIDE
13 using StorageType = plUInt8;
19#if PL_ENABLED(PL_PLATFORM_WINDOWS)
27#if PL_ENABLED(PL_PLATFORM_WINDOWS)
28 Default = VisualStudio
30 Default = VisualStudioCode
35PL_DECLARE_REFLECTABLE_TYPE(PL_EDITORFRAMEWORK_DLL,
plIDE);
40 using StorageType = plUInt8;
45#if PL_ENABLED(PL_PLATFORM_LINUX)
47#elif PL_ENABLED(PL_PLATFORM_WINDOWS)
51#if PL_ENABLED(PL_PLATFORM_WINDOWS)
59PL_DECLARE_REFLECTABLE_TYPE(PL_EDITORFRAMEWORK_DLL,
plCompiler);
64 bool m_bCustomCompiler;
85 enum class ModifyResult
110 static plStringView CompilerToString(plCompiler::Enum compiler);
112 static plCompiler::Enum GetSdkCompiler();
114 static plString GetSdkCompilerMajorVersion();
118 static const char* GetCMakePath();
122 static ModifyResult CheckCMakeUserPresets(
const plCppSettings& cfg,
bool bWriteResult);
126 static bool ExistsProjectCMakeListsTxt();
146 static plResult EnsureCppPluginReady();
148 static bool IsBuildRequired();
153 static void LoadPreferences();
158 static plResult ForceSdkCompatibleCompiler();
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
Definition CppSettings.h:7
Definition DynamicArray.h:81
Base class for all preferences.
Definition Preferences.h:17
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
Definition CppProject.h:39
Definition CppProject.h:62
Definition CppProject.h:77
Definition CppProject.h:73
static plEvent< const plCppSettings & > s_ChangeEvents
Fired when a notable change has been made.
Definition CppProject.h:151
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Definition CppProject.h:12
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
An plResult with an additional message for the reason of failure.
Definition Status.h:12