|
| std::vector< std::string > | DekiEditor::CMakeGen::MissingCapabilities (const PackageEntry &pkg, const std::set< std::string > &platformCapabilities) |
| | What pkg needs that platformCapabilities does not offer.
|
| bool | DekiEditor::CMakeGen::PackageSupportsPlatform (const PackageEntry &pkg, const std::set< std::string > &platformCapabilities) |
| | True when MissingCapabilities is empty.
|
| std::vector< PackageEntry > | DekiEditor::CMakeGen::ScanPackageManifests (const std::string &projectPath) |
| | Reads every package manifest in the project's packages/ directory.
|
| bool | DekiEditor::CMakeGen::FeatureInBuild (const FeatureEntry &feature, const std::vector< std::string > &packageDefines) |
| | Whether a feature is compiled into a build with these defines: always when no feature plan is in force (the editor's own build), else when its define is.
|
| std::vector< std::string > | DekiEditor::CMakeGen::RequiredPackagesInBuild (const PackageEntry &pkg, const std::vector< std::string > &packageDefines) |
| | The packages pkg needs in a build with these defines: the package's own requires plus those of each feature in the build.
|
| std::set< std::string > | DekiEditor::CMakeGen::ResolveActivePackages (const std::vector< PackageEntry > &allPackages, const std::vector< std::string > &packageDefines, const std::set< std::string > &platformCapabilities={}) |
| | The packages active for these build defines, transitive dependencies included.
|
| std::vector< std::string > | DekiEditor::CMakeGen::ReadProjectTags (const std::string &projectPath) |
| | deki.json "tags", or an empty list when there is none.
|
| TransformWidth | DekiEditor::CMakeGen::ResolveTransformWidth (const std::vector< PackageEntry > &allPackages, const std::set< std::string > &activeIds, const std::vector< std::string > &projectTags, std::string *why=nullptr) |
| | The widest transform anything active declares.
|
| TransformWidth | DekiEditor::CMakeGen::ResolveProjectTransformWidth (const std::vector< PackageEntry > &allPackages, const std::vector< std::string > &projectTags, std::string *why=nullptr) |
| | The width for a project, which is what a build must compile.
|
| std::vector< std::string > | DekiEditor::CMakeGen::TransformDefines (TransformWidth width) |
| | The compile definitions for a width: none, DEKI_TRANSFORM_2D, or both.
|
| void | DekiEditor::CMakeGen::EmitEngineCoreSourceCollection (std::ostream &out, const std::vector< std::string > &extraExclusions={}) |
| | Writes the CMake that collects the engine core sources (GLOB_RECURSE plus the standard exclusions).
|
| std::string | DekiEditor::CMakeGen::CMakeIdentifier (const std::string &name) |
| | A name as CMake spells it after string(MAKE_C_IDENTIFIER): every character outside [A-Za-z0-9] becomes '', and a leading digit gets a '' in front.
|
| std::string | DekiEditor::CMakeGen::EscapeCppString (const std::string &s) |
| | s escaped to sit between double quotes in generated C++: backslashes, quotes and newlines escaped.
|
| std::string | DekiEditor::CMakeGen::EscapeCMakeString (const std::string &s) |
| | s escaped to sit between double quotes in generated CMake: backslashes, quotes, $ and ; escaped so it stays one literal argument.
|
| void | DekiEditor::CMakeGen::EmitActivePackageSources (std::ostream &out, const std::vector< PackageEntry > &allPackages, const std::set< std::string > &activePackageIds, const std::vector< std::string > &sourceExcludeRegexes={}, bool excludeGenerated=false) |
| | Writes one GLOB_RECURSE per active package, leaving out editor/.
|
| void | DekiEditor::CMakeGen::EmitGeneratedFileSources (std::ostream &out, const std::string &enginePath, const std::vector< PackageEntry > &allPackages, const std::set< std::string > &activePackageIds) |
| | Writes the .gen.cpp sources of the active packages only.
|
| void | DekiEditor::CMakeGen::EmitProjectSourceCollection (std::ostream &out, const std::string &relPath="${DEKI_PROJECT_PATH}/src", bool excludePluginExports=false) |
| | Writes the CMake that collects the project's own sources from src/.
|
| void | DekiEditor::CMakeGen::EmitPlatformDefines (std::ostream &out, const std::string &targetName, const PlatformConfig &config, const std::vector< std::string > &packageDefines, const std::vector< std::string > &skipDefines={}) |
| | Writes the target_compile_definitions block.
|
| void | DekiEditor::CMakeGen::EmitIncludePaths (std::ostream &out, const std::string &targetName, const std::string &projectSrcRelPath="${DEKI_PROJECT_PATH}/src", const std::vector< std::string > &extraPaths={}) |
| | Writes the target_include_directories block.
|
| std::string | DekiEditor::CMakeGen::GeneratePackageInitFile (const std::filesystem::path &outputDir, const std::vector< PackageEntry > &allPackages, const std::set< std::string > &activePackageIds, const std::filesystem::path &projectSrcPath="", bool engineDefinesSystemInit=false) |
| | Generates a package_init.cpp that calls each package's RegisterComponents() and registers project components with ComponentFactory, for embedded builds.
|
| bool | DekiEditor::CMakeGen::WriteIfChanged (const std::filesystem::path &filePath, const std::string &content) |
| | Writes content only if the file differs, so unchanged files cause no rebuild.
|