Plasma Engine  2.0
Loading...
Searching...
No Matches
plCppProject Struct Reference
Inheritance diagram for plCppProject:

Classes

struct  MachineSpecificCompilerPaths
 

Public Types

enum class  ModifyResult { FAILURE , NOT_MODIFIED , MODIFIED }
 
- Public Types inherited from plPreferences
enum class  Domain { Application , Project , Document }
 

Public Member Functions

 PL_ADD_DYNAMIC_REFLECTION (plCppProject, plPreferences)
 
- Public Member Functions inherited from plPreferences
Domain GetDomain () const
 Whether the preferences are app, project or document specific.
 
plString GetName () const
 Within the same domain and visibility the name must be unique, but across those it can be reused.
 
const plDocumentGetDocumentAssociation () const
 If these preferences are per document, the pointer is valid, otherwise nullptr.
 
void TriggerPreferencesChangedEvent ()
 Call this to broadcast that this preference object was modified.
 
- Public Member Functions inherited from plReflectedClass
virtual const plRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const plRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
PL_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Static Public Member Functions

static plString GetTargetSourceDir (plStringView sProjectDirectory={})
 
static plString GetGeneratorFolderName (const plCppSettings &cfg)
 
static plString GetCMakeGeneratorName (const plCppSettings &cfg)
 
static plString GetPluginSourceDir (const plCppSettings &cfg, plStringView sProjectDirectory={})
 
static plString GetBuildDir (const plCppSettings &cfg)
 
static plString GetSolutionPath (const plCppSettings &cfg)
 
static plStatus OpenSolution (const plCppSettings &cfg)
 
static plStringView CompilerToString (plCompiler::Enum compiler)
 
static plCompiler::Enum GetSdkCompiler ()
 
static plString GetSdkCompilerMajorVersion ()
 
static plStatus TestCompiler ()
 
static const char * GetCMakePath ()
 
static plResult CheckCMakeCache (const plCppSettings &cfg)
 
static ModifyResult CheckCMakeUserPresets (const plCppSettings &cfg, bool bWriteResult)
 
static bool ExistsSolution (const plCppSettings &cfg)
 
static bool ExistsProjectCMakeListsTxt ()
 
static plResult PopulateWithDefaultSources (const plCppSettings &cfg)
 
static plResult CleanBuildDir (const plCppSettings &cfg)
 
static plResult RunCMake (const plCppSettings &cfg)
 
static plResult RunCMakeIfNecessary (const plCppSettings &cfg)
 
static plResult CompileSolution (const plCppSettings &cfg)
 
static plResult BuildCodeIfNecessary (const plCppSettings &cfg)
 
static plVariantDictionary CreateEmptyCMakeUserPresetsJson (const plCppSettings &cfg)
 
static ModifyResult ModifyCMakeUserPresetsJson (const plCppSettings &cfg, plVariantDictionary &inout_json)
 
static void UpdatePluginConfig (const plCppSettings &cfg)
 
static plResult EnsureCppPluginReady ()
 
static bool IsBuildRequired ()
 
static void LoadPreferences ()
 
static plArrayPtr< const MachineSpecificCompilerPathsGetMachineSpecificCompilers ()
 
static plResult ForceSdkCompatibleCompiler ()
 
- Static Public Member Functions inherited from plPreferences
template<typename TYPE >
static TYPE * QueryPreferences (const plDocument *pDocument=nullptr)
 Static function to query a preferences object of the given type. If the instance does not exist yet, it is created and the data is restored from file.
 
static plPreferencesQueryPreferences (const plRTTI *pRtti, const plDocument *pDocument=nullptr)
 Static function to query a preferences object of the given type. If the instance does not exist yet, it is created and the data is restored from file.
 
static void SaveDocumentPreferences (const plDocument *pDocument)
 Saves all preferences that are tied to the given document.
 
static void ClearDocumentPreferences (const plDocument *pDocument)
 Removes all preferences for the given document. Does not save them. Afterwards the preferences will not appear in the UI any further.
 
static void SaveProjectPreferences ()
 Saves all project specific preferences.
 
static void ClearProjectPreferences ()
 Removes all project specific preferences. Does not save them. Afterwards the preferences will not appear in the UI any further.
 
static void SaveApplicationPreferences ()
 Saves all application specific preferences.
 
static void ClearApplicationPreferences ()
 Removes all application specific preferences. Does not save them. Afterwards the preferences will not appear in the UI any further.
 
static void GatherAllPreferences (plHybridArray< plPreferences *, 16 > &out_allPreferences)
 
- Static Public Member Functions inherited from plNoBase
static const plRTTIGetStaticRTTI ()
 

Static Public Attributes

static plEvent< const plCppSettings & > s_ChangeEvents
 Fired when a notable change has been made.
 

Additional Inherited Members

- Public Attributes inherited from plPreferences
plEvent< plPreferences * > m_ChangedEvent
 A simple event that can be fired when any preference property changes. No specific change details are given.
 
- Protected Member Functions inherited from plPreferences
 plPreferences (Domain domain, const char *szUniqueName)
 
plString GetFilePath () const
 

The documentation for this struct was generated from the following files: