Skip to content

Commit

Permalink
Use build_profile to improve build times
Browse files Browse the repository at this point in the history
  • Loading branch information
dsnopek committed May 15, 2024
1 parent a5f2280 commit d2b2454
Show file tree
Hide file tree
Showing 4 changed files with 479 additions and 6 deletions.
17 changes: 11 additions & 6 deletions .github/workflows/build-addon-on-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,11 @@ jobs:
with:
path: aar
submodules: recursive
- name: Patch Godot-CPP
run: |
cd aar/thirdparty/godot-cpp
git apply "../godot_cpp_build_profile/build_profile.patch"
cd ../../..
- name: Set up Python (for SCons)
uses: actions/setup-python@v4
with:
Expand All @@ -77,8 +82,8 @@ jobs:
- name: Create extension library
run: |
cd aar
scons platform=${{ matrix.platform }} target=template_debug ${{ matrix.flags }} custom_api_file=thirdparty/godot_cpp_gdextension_api/extension_api.json
scons platform=${{ matrix.platform }} target=template_release ${{ matrix.flags }} custom_api_file=thirdparty/godot_cpp_gdextension_api/extension_api.json
scons platform=${{ matrix.platform }} target=template_debug ${{ matrix.flags }} custom_api_file=thirdparty/godot_cpp_gdextension_api/extension_api.json build_profile=thirdparty/godot_cpp_build_profile/build_profile.json
scons platform=${{ matrix.platform }} target=template_release ${{ matrix.flags }} custom_api_file=thirdparty/godot_cpp_gdextension_api/extension_api.json build_profile=thirdparty/godot_cpp_build_profile/build_profile.json
cd ..
# On Android we build our loaders and build our extension with gradlew
Expand All @@ -94,10 +99,10 @@ jobs:
- name: Create Godot-CPP library
run: |
cd aar/thirdparty/godot-cpp
scons platform=${{ matrix.platform }} target=template_debug arch=arm64 custom_api_file=../godot_cpp_gdextension_api/extension_api.json
scons platform=${{ matrix.platform }} target=template_release arch=arm64 custom_api_file=../godot_cpp_gdextension_api/extension_api.json
scons platform=${{ matrix.platform }} target=template_debug arch=x86_64 custom_api_file=../godot_cpp_gdextension_api/extension_api.json
scons platform=${{ matrix.platform }} target=template_release arch=x86_64 custom_api_file=../godot_cpp_gdextension_api/extension_api.json
scons platform=${{ matrix.platform }} target=template_debug arch=arm64 custom_api_file=../godot_cpp_gdextension_api/extension_api.json build_profile=../godot_cpp_build_profile/build_profile.json
scons platform=${{ matrix.platform }} target=template_release arch=arm64 custom_api_file=../godot_cpp_gdextension_api/extension_api.json build_profile=../godot_cpp_build_profile/build_profile.json
scons platform=${{ matrix.platform }} target=template_debug arch=x86_64 custom_api_file=../godot_cpp_gdextension_api/extension_api.json build_profile=../godot_cpp_build_profile/build_profile.json
scons platform=${{ matrix.platform }} target=template_release arch=x86_64 custom_api_file=../godot_cpp_gdextension_api/extension_api.json build_profile=../godot_cpp_build_profile/build_profile.json
cd ../../..
if: matrix.platform == 'android'
- name: Create Godot OpenXR Vendors AARs
Expand Down
206 changes: 206 additions & 0 deletions thirdparty/godot_cpp_build_profile/build_profile.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
{
"enabled_classes": [
"AcceptDialog",
"Animation",
"AnimationLibrary",
"AnimationMixer",
"AnimationPlayer",
"ArrayMesh",
"BaseButton",
"BaseMaterial3D",
"BoneAttachment3D",
"BoxContainer",
"BoxMesh",
"BoxShape3D",
"Button",
"ButtonGroup",
"CallbackTweener",
"Camera2D",
"Camera3D",
"CameraAttributes",
"CanvasItem",
"CanvasLayer",
"CollisionShape3D",
"Compositor",
"CompositorEffect",
"ConcavePolygonShape3D",
"ConfigFile",
"ConfirmationDialog",
"Container",
"Control",
"ConvexPolygonShape3D",
"Curve",
"EditorCommandPalette",
"EditorDebuggerPlugin",
"EditorDebuggerSession",
"EditorExportPlatform",
"EditorExportPlatformAndroid",
"EditorExportPlugin",
"EditorFileSystem",
"EditorFileSystemDirectory",
"EditorImportPlugin",
"EditorInspector",
"EditorInspectorPlugin",
"EditorInterface",
"EditorNode3DGizmo",
"EditorNode3DGizmoPlugin",
"EditorPaths",
"EditorPlugin",
"EditorResourceConversionPlugin",
"EditorResourcePreview",
"EditorResourcePreviewGenerator",
"EditorResourceTooltipPlugin",
"EditorSceneFormatImporter",
"EditorScenePostImportPlugin",
"EditorSelection",
"EditorSettings",
"EditorSyntaxHighlighter",
"EditorTranslationParserPlugin",
"EditorUndoRedoManager",
"Engine",
"Environment",
"FileAccess",
"FileSystemDock",
"Font",
"GLTFAccessor",
"GLTFAnimation",
"GLTFBufferView",
"GLTFCamera",
"GLTFDocument",
"GLTFDocumentExtension",
"GLTFLight",
"GLTFMesh",
"GLTFNode",
"GLTFSkeleton",
"GLTFSkin",
"GLTFState",
"GLTFTexture",
"GLTFTextureSampler",
"GeometryInstance3D",
"Gradient",
"GradientTexture1D",
"HScrollBar",
"Image",
"ImporterMesh",
"InputEvent",
"IntervalTweener",
"Label",
"LabelSettings",
"Light3D",
"LineEdit",
"MainLoop",
"Material",
"Mesh",
"MeshConvexDecompositionSettings",
"MeshInstance3D",
"MethodTweener",
"MultiMesh",
"MultiplayerAPI",
"MultiplayerPeer",
"NativeMenu",
"Node",
"Node2D",
"Node3D",
"Node3DGizmo",
"OS",
"Object",
"OpenXRAPIExtension",
"OpenXRExtensionWrapperExtension",
"OpenXRInterface",
"PackedScene",
"PacketPeer",
"PanelContainer",
"PhysicsDirectSpaceState2D",
"PhysicsDirectSpaceState3D",
"PhysicsPointQueryParameters2D",
"PhysicsPointQueryParameters3D",
"PhysicsRayQueryParameters2D",
"PhysicsRayQueryParameters3D",
"PhysicsShapeQueryParameters2D",
"PhysicsShapeQueryParameters3D",
"PlaneMesh",
"Popup",
"PopupMenu",
"PrimitiveMesh",
"ProjectSettings",
"PropertyTweener",
"RDAttachmentFormat",
"RDFramebufferPass",
"RDPipelineColorBlendState",
"RDPipelineColorBlendStateAttachment",
"RDPipelineDepthStencilState",
"RDPipelineMultisampleState",
"RDPipelineRasterizationState",
"RDPipelineSpecializationConstant",
"RDSamplerState",
"RDShaderSPIRV",
"RDShaderSource",
"RDTextureFormat",
"RDTextureView",
"RDUniform",
"RDVertexAttribute",
"Range",
"RefCounted",
"RenderData",
"RenderSceneBuffers",
"RenderSceneBuffersConfiguration",
"RenderSceneData",
"RenderingDevice",
"RenderingServer",
"Resource",
"ResourceImporter",
"SceneState",
"SceneTree",
"SceneTreeTimer",
"Script",
"ScriptCreateDialog",
"ScriptEditor",
"ScriptEditorBase",
"ScriptLanguage",
"ScrollBar",
"ScrollContainer",
"Shader",
"ShaderMaterial",
"Shape3D",
"Shortcut",
"Skeleton3D",
"SkeletonModifier3D",
"Skin",
"SkinReference",
"Sky",
"StandardMaterial3D",
"StyleBox",
"SubViewport",
"SyntaxHighlighter",
"TextEdit",
"TextServer",
"Texture",
"Texture2D",
"TextureRect",
"Theme",
"TriangleMesh",
"Tween",
"Tweener",
"UndoRedo",
"VBoxContainer",
"VScrollBar",
"Viewport",
"ViewportTexture",
"VisualInstance3D",
"Window",
"World2D",
"World3D",
"XRAnchor3D",
"XRBodyTracker",
"XRFaceTracker",
"XRHandModifier3D",
"XRHandTracker",
"XRInterface",
"XRNode3D",
"XROrigin3D",
"XRPose",
"XRPositionalTracker",
"XRServer",
"XRTracker"
]
}
Loading

0 comments on commit d2b2454

Please sign in to comment.