XII Release 0.1.0
Loading...
Searching...
No Matches
xiiCppProject Struct Reference
Inheritance diagram for xiiCppProject:
[legend]

Classes

struct  MachineSpecificCompilerPaths
 

Public Types

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

Public Member Functions

 XII_ADD_DYNAMIC_REFLECTION (xiiCppProject, xiiPreferences)
 
- Public Member Functions inherited from xiiPreferences
Domain GetDomain () const
 Whether the preferences are app, project or document specific.
 
xiiString GetName () const
 Within the same domain and visibility the name must be unique, but across those it can be reused.
 
const xiiDocumentGetDocumentAssociation () 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 xiiReflectedClass
virtual const xiiRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T>
XII_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 xiiString GetTargetSourceDir (xiiStringView sProjectDirectory={})
 
static xiiString GetGeneratorFolderName (const xiiCppSettings &cfg)
 
static xiiString GetCMakeGeneratorName (const xiiCppSettings &cfg)
 
static xiiString GetPluginSourceDir (const xiiCppSettings &cfg, xiiStringView sProjectDirectory={})
 
static xiiString GetBuildDir (const xiiCppSettings &cfg)
 
static xiiString GetSolutionPath (const xiiCppSettings &cfg)
 
static xiiStatus OpenSolution (const xiiCppSettings &cfg)
 
static xiiStatus OpenInCodeEditor (const xiiStringView &sFileName, xiiInt32 iLineNumber)
 Attempts to launch the configured code editor with the specified file and line number.
 
static xiiStringView CompilerToString (xiiCompiler::Enum compiler)
 
static xiiCompiler::Enum GetSdkCompiler ()
 
static xiiString GetSdkCompilerMajorVersion ()
 
static xiiStatus TestCompiler ()
 
static const char * GetCMakePath ()
 
static xiiResult CheckCMakeCache (const xiiCppSettings &cfg)
 
static ModifyResult CheckCMakeUserPresets (const xiiCppSettings &cfg, bool bWriteResult)
 
static bool ExistsSolution (const xiiCppSettings &cfg)
 
static bool ExistsProjectCMakeListsTxt ()
 
static xiiResult PopulateWithDefaultSources (const xiiCppSettings &cfg)
 
static xiiResult CleanBuildDir (const xiiCppSettings &cfg)
 
static xiiResult RunCMake (const xiiCppSettings &cfg)
 
static xiiResult RunCMakeIfNecessary (const xiiCppSettings &cfg)
 
static xiiResult CompileSolution (const xiiCppSettings &cfg)
 
static xiiResult BuildCodeIfNecessary (const xiiCppSettings &cfg)
 
static xiiVariantDictionary CreateEmptyCMakeUserPresetsJson (const xiiCppSettings &cfg)
 
static ModifyResult ModifyCMakeUserPresetsJson (const xiiCppSettings &cfg, xiiVariantDictionary &inout_json)
 
static void UpdatePluginConfig (const xiiCppSettings &cfg)
 
static xiiResult EnsureCppPluginReady ()
 
static bool IsBuildRequired ()
 
static void LoadPreferences ()
 
static xiiArrayPtr< const MachineSpecificCompilerPathsGetMachineSpecificCompilers ()
 
static xiiResult ForceSdkCompatibleCompiler ()
 
- Static Public Member Functions inherited from xiiPreferences
template<typename TYPE>
static TYPE * QueryPreferences (const xiiDocument *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 xiiPreferencesQueryPreferences (const xiiRTTI *pRtti, const xiiDocument *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 xiiDocument *pDocument)
 Saves all preferences that are tied to the given document.
 
static void ClearDocumentPreferences (const xiiDocument *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 (xiiHybridArray< xiiPreferences *, 16 > &out_allPreferences)
 
- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 

Static Public Attributes

static xiiEvent< const xiiCppSettings & > s_ChangeEvents
 Fired when a notable change has been made.
 

Additional Inherited Members

- Public Attributes inherited from xiiPreferences
xiiEvent< xiiPreferences * > 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 xiiPreferences
 xiiPreferences (Domain domain, const char *szUniqueName)
 
xiiString GetFilePath () const
 

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