Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCons: Separate module defines #99302

Closed

Conversation

Repiteo
Copy link
Contributor

@Repiteo Repiteo commented Nov 15, 2024

One of the problems with the current implementation of modules is that any modification to them will cause every single script that references them to be recompiled. Even if the module being toggled isn't used in a given script, it referencing modules in any form will still flag them for recompilation. This PR addresses this concern by splitting the current modules_enabled.gen.h into individual files for each and every module. While this can make includes a bit more verbose, the benefits of significantly spedup compile times more than make up for it

Here's two tests from identical starting points & how they handle disabling the text_server_fb module:

Before - 02:50.81
scons: Building targets ...
[  0%] Generating modules\modules_enabled.gen.h ...
[  4%] Generating editor\doc_data_class_path.gen.h ...
[  4%] Compiling platform\windows\joypad_windows.cpp ...
[  4%] Compiling platform\windows\godot_windows.cpp ...
[  4%] Compiling platform\windows\display_server_windows.cpp ...
[  4%] Compiling platform\windows\os_windows.cpp ...
[  4%] Compiling platform\windows\windows_terminal_logger.cpp ...
[  4%] Compiling platform\windows\wgl_detect_version.cpp ...
[  4%] Compiling platform\windows\gl_manager_windows_native.cpp ...
[  4%] Compiling platform\windows\crash_handler_windows_seh.cpp ...
[  4%] Compiling platform\windows\rendering_context_driver_vulkan_windows.cpp ...
[  4%] Compiling platform\windows\tts_windows.cpp ...
[  4%] Compiling platform\windows\native_menu_windows.cpp ...
[  4%] Compiling platform\windows\gl_manager_windows_angle.cpp ...
[  4%] Compiling platform\windows\drop_target_windows.cpp ...
[  5%] Compiling main\main.cpp ...
[  5%] Compiling main\main_timer_sync.cpp ...
[  5%] Compiling main\performance.cpp ...
[  5%] Compiling main\steam_tracker.cpp ...
[  5%] Compiling tests\test_macros.cpp ...
[  6%] Generating modules\modules_tests.gen.h ...
[  7%] Compiling tests\test_utils.cpp ...
[  7%] Compiling tests\test_main.cpp ...
[  7%] Generating modules\register_module_types.gen.cpp ...
[  8%] Compiling modules\ktx\register_types.cpp ...
[  8%] Compiling modules\register_module_types.gen.cpp ...
[  8%] Compiling modules\ktx\texture_loader_ktx.cpp ...
[  9%] Compiling modules\theora\register_types.cpp ...
[  9%] Linking Static Library modules\modules.windows.editor.dev.x86_64.lib ...
[  9%] Compiling modules\theora\video_stream_theora.cpp ...
[ 10%] Compiling modules\vorbis\audio_stream_ogg_vorbis.cpp ...
[ 10%] Compiling modules\vorbis\register_types.cpp ...
[ 10%] Compiling modules\vorbis\resource_importer_ogg_vorbis.cpp ...
[ 10%] Compiling modules\astcenc\image_compress_astcenc.cpp ...
[ 11%] Compiling modules\basis_universal\image_compress_basisu.cpp ...
[ 11%] Compiling modules\bcdec\image_decompress_bcdec.cpp ...
[ 11%] Compiling modules\betsy\image_compress_betsy.cpp ...
[ 11%] Compiling modules\betsy\register_types.cpp ...
[ 11%] Compiling modules\bmp\image_loader_bmp.cpp ...
[ 11%] Compiling modules\bmp\register_types.cpp ...
[ 11%] Compiling modules\camera\register_types.cpp ...
[ 11%] Compiling modules\camera\camera_win.cpp ...
[ 11%] Compiling modules\csg\csg.cpp ...
[ 11%] Compiling modules\csg\csg_shape.cpp ...
[ 11%] Compiling modules\csg\register_types.cpp ...
[ 11%] Compiling modules\csg\editor\csg_gizmos.cpp ...
[ 11%] Linking Static Library modules\module_astcenc.windows.editor.dev.x86_64.lib ...
[ 12%] Compiling modules\cvtt\image_compress_cvtt.cpp ...
[ 12%] Compiling modules\dds\register_types.cpp ...
[ 12%] Compiling modules\dds\texture_loader_dds.cpp ...
[ 12%] Linking Static Library modules\module_bcdec.windows.editor.dev.x86_64.lib ...
[ 12%] Compiling thirdparty\enet\godot.cpp ...
[ 12%] Linking Static Library modules\module_ktx.windows.editor.dev.x86_64.lib ...
[ 12%] Compiling modules\etcpak\image_compress_etcpak.cpp ...
[ 12%] Compiling modules\fbx\fbx_document.cpp ...
[ 12%] Compiling modules\fbx\fbx_state.cpp ...
[ 12%] Compiling modules\fbx\register_types.cpp ...
[ 12%] Compiling modules\fbx\editor\editor_scene_importer_fbx2gltf.cpp ...
[ 12%] Compiling modules\fbx\editor\editor_scene_importer_ufbx.cpp ...
[ 16%] Compiling modules\gdscript\gdscript.cpp ...
[ 16%] Linking Static Library modules\module_bmp.windows.editor.dev.x86_64.lib ...
[ 16%] Linking Static Library modules\module_theora.windows.editor.dev.x86_64.lib ...      
[ 16%] Compiling modules\gdscript\gdscript_analyzer.cpp ...
[ 16%] Linking Static Library modules\module_basis_universal.windows.editor.dev.x86_64.lib ...
[ 16%] Compiling modules\gdscript\gdscript_byte_codegen.cpp ...
[ 16%] Compiling modules\gdscript\gdscript_cache.cpp ...
[ 16%] Compiling modules\gdscript\gdscript_compiler.cpp ...
[ 16%] Compiling modules\gdscript\gdscript_disassembler.cpp ...
[ 16%] Linking Static Library modules\module_cvtt.windows.editor.dev.x86_64.lib ...
[ 16%] Linking Static Library modules\module_camera.windows.editor.dev.x86_64.lib ...
[ 16%] Compiling modules\gdscript\gdscript_editor.cpp ...
[ 16%] Compiling modules\gdscript\gdscript_function.cpp ...
[ 16%] Compiling modules\gdscript\gdscript_lambda_callable.cpp ...
[ 16%] Linking Static Library modules\module_etcpak.windows.editor.dev.x86_64.lib ...      
[ 16%] Compiling modules\gdscript\gdscript_parser.cpp ...
[ 16%] Compiling modules\gdscript\gdscript_rpc_callable.cpp ...
[ 16%] Compiling modules\gdscript\gdscript_tokenizer.cpp ...
[ 16%] Compiling modules\enet\register_types.cpp ...
[ 16%] Linking Static Library modules\module_vorbis.windows.editor.dev.x86_64.lib ...
[ 16%] Compiling modules\enet\enet_packet_peer.cpp ...
[ 16%] Linking Static Library modules\module_betsy.windows.editor.dev.x86_64.lib ...
[ 16%] Compiling modules\enet\enet_connection.cpp ...
[ 16%] Compiling modules\enet\enet_multiplayer_peer.cpp ...
[ 16%] Linking Static Library modules\module_dds.windows.editor.dev.x86_64.lib ...
[ 16%] Compiling modules\gdscript\gdscript_utility_functions.cpp ...
[ 16%] Compiling modules\gdscript\gdscript_vm.cpp ...
[ 16%] Compiling modules\gdscript\register_types.cpp ...
[ 16%] Compiling modules\gdscript\editor\gdscript_docgen.cpp ...
[ 16%] Compiling modules\gdscript\editor\gdscript_highlighter.cpp ...
[ 16%] Compiling modules\gdscript\editor\gdscript_translation_parser_plugin.cpp ...
[ 16%] Compiling modules\gdscript\language_server\gdscript_extend_parser.cpp ...
[ 17%] Compiling modules\gdscript\language_server\gdscript_language_protocol.cpp ...
[ 17%] Compiling modules\gdscript\language_server\gdscript_language_server.cpp ...
[ 17%] Compiling modules\gdscript\language_server\gdscript_text_document.cpp ...
[ 17%] Compiling modules\gdscript\language_server\gdscript_workspace.cpp ...
[ 17%] Compiling modules\gdscript\tests\gdscript_test_runner.cpp ...
[ 17%] Compiling modules\gdscript\tests\test_gdscript.cpp ...
[ 17%] Linking Static Library modules\module_csg.windows.editor.dev.x86_64.lib ...
[ 18%] Compiling modules\glslang\register_types.cpp ...
[ 18%] Compiling modules\gltf\gltf_document.cpp ...
[ 18%] Compiling modules\gltf\gltf_state.cpp ...
[ 18%] Compiling modules\gltf\register_types.cpp ...
[ 18%] Compiling modules\gltf\skin_tool.cpp ...
[ 18%] Compiling modules\gltf\structures\gltf_animation.cpp ...
[ 18%] Compiling modules\gltf\structures\gltf_buffer_view.cpp ...
[ 18%] Compiling modules\gltf\structures\gltf_camera.cpp ...
[ 18%] Compiling modules\gltf\structures\gltf_mesh.cpp ...
[ 18%] Compiling modules\gltf\structures\gltf_node.cpp ...
[ 18%] Linking Static Library main\main.windows.editor.dev.x86_64.lib ...
[ 18%] Compiling modules\gltf\structures\gltf_skeleton.cpp ...
[ 18%] Compiling modules\gltf\structures\gltf_texture_sampler.cpp ...
[ 18%] Linking Static Library modules\module_enet.windows.editor.dev.x86_64.lib ...
[ 18%] Compiling modules\gltf\extensions\gltf_document_extension.cpp ...
[ 18%] Compiling modules\gltf\extensions\gltf_document_extension_convert_importer_mesh.cpp ...
[ 18%] Compiling modules\gltf\extensions\gltf_document_extension_texture_ktx.cpp ...
[ 18%] Compiling modules\gltf\extensions\gltf_document_extension_texture_webp.cpp ...
[ 18%] Compiling modules\gltf\extensions\gltf_light.cpp ...
[ 18%] Linking Static Library modules\module_fbx.windows.editor.dev.x86_64.lib ...
[ 18%] Compiling modules\gltf\extensions\physics\gltf_document_extension_physics.cpp ...
[ 18%] Compiling modules\gltf\extensions\physics\gltf_physics_body.cpp ...
[ 18%] Compiling modules\gltf\extensions\physics\gltf_physics_shape.cpp ...
[ 18%] Compiling modules\gltf\editor\editor_import_blend_runner.cpp ...
[ 18%] Linking Static Library modules\module_glslang.windows.editor.dev.x86_64.lib ...
[ 18%] Compiling modules\gltf\editor\editor_scene_exporter_gltf_plugin.cpp ...
[ 18%] Compiling modules\gltf\editor\editor_scene_exporter_gltf_settings.cpp ...
[ 18%] Compiling modules\gltf\editor\editor_scene_importer_blend.cpp ...
[ 18%] Compiling modules\gltf\editor\editor_scene_importer_gltf.cpp ...
[ 19%] Compiling modules\godot_physics_2d\godot_physics_server_2d.cpp ...
[ 19%] Compiling modules\godot_physics_2d\godot_space_2d.cpp ...
[ 19%] Compiling modules\godot_physics_2d\godot_step_2d.cpp ...
[ 19%] Compiling modules\godot_physics_2d\register_types.cpp ...
[ 19%] Compiling modules\godot_physics_3d\godot_body_pair_3d.cpp ...
[ 19%] Compiling modules\godot_physics_3d\godot_physics_server_3d.cpp ...
[ 19%] Compiling modules\godot_physics_3d\godot_soft_body_3d.cpp ...
[ 19%] Compiling modules\godot_physics_3d\godot_step_3d.cpp ...
[ 19%] Compiling modules\godot_physics_3d\register_types.cpp ...
[ 19%] Compiling modules\gridmap\grid_map.cpp ...
[ 19%] Compiling modules\gridmap\register_types.cpp ...
[ 19%] Compiling modules\gridmap\editor\grid_map_editor_plugin.cpp ...
[ 19%] Compiling modules\hdr\image_loader_hdr.cpp ...
[ 19%] Compiling modules\hdr\register_types.cpp ...
[ 19%] Linking Static Library modules\module_gdscript.windows.editor.dev.x86_64.lib ...
[ 19%] Compiling modules\interactive_music\audio_stream_interactive.cpp ...
[ 19%] Compiling modules\interactive_music\audio_stream_playlist.cpp ...
[ 19%] Compiling modules\interactive_music\audio_stream_synchronized.cpp ...
[ 19%] Compiling modules\interactive_music\register_types.cpp ...
[ 19%] Compiling modules\interactive_music\editor\audio_stream_interactive_editor_plugin.cpp ...
[ 19%] Compiling modules\jpg\image_loader_jpegd.cpp ...
[ 19%] Compiling modules\jpg\register_types.cpp ...
[ 20%] Compiling modules\jsonrpc\jsonrpc.cpp ...
[ 20%] Compiling modules\jsonrpc\tests\test_jsonrpc.cpp ...
[ 20%] Compiling modules\lightmapper_rd\lightmapper_rd.cpp ...
[ 20%] Compiling modules\lightmapper_rd\register_types.cpp ...
[ 22%] Compiling modules\mbedtls\crypto_mbedtls.cpp ...
[ 22%] Linking Static Library modules\module_godot_physics_2d.windows.editor.dev.x86_64.lib ...
[ 22%] Compiling modules\mbedtls\dtls_server_mbedtls.cpp ...
[ 22%] Compiling modules\mbedtls\packet_peer_mbed_dtls.cpp ...
[ 22%] Compiling modules\mbedtls\register_types.cpp ...
[ 22%] Compiling modules\mbedtls\stream_peer_mbedtls.cpp ...
[ 22%] Compiling modules\mbedtls\tls_context_mbedtls.cpp ...
[ 22%] Compiling modules\mbedtls\tests\test_crypto_mbedtls.cpp ...
[ 23%] Compiling modules\meshoptimizer\register_types.cpp ...
[ 23%] Compiling modules\minimp3\audio_stream_mp3.cpp ...
[ 23%] Compiling modules\minimp3\register_types.cpp ...
[ 23%] Linking Static Library modules\module_hdr.windows.editor.dev.x86_64.lib ...
[ 23%] Linking Static Library modules\module_godot_physics_3d.windows.editor.dev.x86_64.lib ...
[ 23%] Compiling modules\minimp3\resource_importer_mp3.cpp ...
[ 23%] Compiling modules\mobile_vr\mobile_vr_interface.cpp ...
[ 23%] Compiling modules\mobile_vr\register_types.cpp ...
[ 23%] Compiling modules\multiplayer\multiplayer_debugger.cpp ...
[ 23%] Compiling modules\multiplayer\multiplayer_spawner.cpp ...
[ 23%] Compiling modules\multiplayer\multiplayer_synchronizer.cpp ...
[ 23%] Linking Static Library modules\module_jpg.windows.editor.dev.x86_64.lib ...
[ 23%] Compiling modules\multiplayer\register_types.cpp ...
[ 23%] Compiling modules\multiplayer\scene_cache_interface.cpp ...
[ 23%] Compiling modules\multiplayer\scene_multiplayer.cpp ...
[ 23%] Compiling modules\multiplayer\scene_replication_config.cpp ...
[ 23%] Compiling modules\multiplayer\scene_replication_interface.cpp ...
[ 23%] Compiling modules\multiplayer\scene_rpc_interface.cpp ...
[ 23%] Compiling modules\multiplayer\editor\editor_network_profiler.cpp ...
[ 23%] Compiling modules\multiplayer\editor\multiplayer_editor_plugin.cpp ...
[ 23%] Compiling modules\multiplayer\editor\replication_editor.cpp ...
[ 23%] Compiling modules\navigation\nav_agent.cpp ...
[ 23%] Compiling modules\navigation\nav_link.cpp ...
[ 24%] Compiling modules\navigation\nav_map.cpp ...
[ 24%] Compiling modules\navigation\nav_obstacle.cpp ...
[ 24%] Compiling modules\navigation\nav_region.cpp ...
[ 24%] Compiling modules\navigation\register_types.cpp ...
[ 24%] Linking Static Library modules\module_jsonrpc.windows.editor.dev.x86_64.lib ...
[ 24%] Linking Static Library modules\module_meshoptimizer.windows.editor.dev.x86_64.lib ...
[ 24%] Compiling modules\navigation\2d\godot_navigation_server_2d.cpp ...
[ 24%] Compiling modules\navigation\2d\nav_mesh_generator_2d.cpp ...
[ 24%] Linking Static Library modules\module_gridmap.windows.editor.dev.x86_64.lib ...
[ 24%] Linking Static Library modules\module_lightmapper_rd.windows.editor.dev.x86_64.lib ...
[ 24%] Linking Static Library modules\module_gltf.windows.editor.dev.x86_64.lib ...
[ 24%] Compiling modules\navigation\3d\godot_navigation_server_3d.cpp ...
[ 24%] Compiling modules\navigation\3d\nav_mesh_generator_3d.cpp ...
[ 24%] Compiling modules\navigation\3d\nav_mesh_queries_3d.cpp ...
[ 24%] Compiling modules\navigation\3d\navigation_mesh_generator.cpp ...
[ 24%] Compiling modules\navigation\editor\navigation_mesh_editor_plugin.cpp ...
[ 24%] Linking Static Library modules\module_mobile_vr.windows.editor.dev.x86_64.lib ...
[ 24%] Linking Static Library modules\module_mbedtls.windows.editor.dev.x86_64.lib ...
[ 24%] Compiling modules\noise\noise_texture_2d.cpp ...
[ 24%] Compiling modules\noise\noise_texture_3d.cpp ...
[ 24%] x86_64.lib ...
[ 24%] Compiling modules\noise\register_types.cpp ...
[ 24%] Compiling modules\noise\editor\noise_editor_plugin.cpp ...
[ 25%] Compiling modules\openxr\openxr_api.cpp ...
[ 25%] Compiling modules\openxr\openxr_api_extension.cpp ...
[ 25%] Compiling modules\openxr\openxr_interface.cpp ...
[ 25%] Compiling modules\openxr\register_types.cpp ...
[ 25%] Compiling modules\openxr\action_map\openxr_interaction_profile_metadata.cpp ...
[ 25%] Compiling modules\openxr\extensions\openxr_composition_layer_extension.cpp ...
[ 25%] Compiling modules\openxr\extensions\openxr_debug_utils_extension.cpp ...
[ 25%] Linking Static Library modules\module_minimp3.windows.editor.dev.x86_64.lib ...
[ 25%] Compiling modules\openxr\extensions\openxr_extension_wrapper_extension.cpp ...
[ 25%] Compiling modules\openxr\extensions\openxr_eye_gaze_interaction.cpp ...
[ 25%] Compiling modules\openxr\extensions\openxr_fb_display_refresh_rate_extension.cpp ...
[ 25%] Compiling modules\openxr\extensions\openxr_fb_foveation_extension.cpp ...
[ 25%] Compiling modules\openxr\extensions\openxr_fb_update_swapchain_extension.cpp ...
[ 25%] Compiling modules\openxr\extensions\openxr_hand_tracking_extension.cpp ...
[ 25%] Compiling modules\openxr\extensions\openxr_visibility_mask_extension.cpp ...
[ 25%] Compiling modules\openxr\extensions\platform\openxr_vulkan_extension.cpp ...
[ 25%] Compiling modules\openxr\extensions\platform\openxr_opengl_extension.cpp ...
[ 25%] Compiling modules\openxr\scene\openxr_composition_layer.cpp ...
[ 25%] Compiling modules\openxr\scene\openxr_composition_layer_cylinder.cpp ...
[ 25%] Compiling modules\openxr\scene\openxr_composition_layer_equirect.cpp ...
[ 26%] Compiling modules\openxr\scene\openxr_composition_layer_quad.cpp ...
[ 26%] Compiling modules\openxr\scene\openxr_hand.cpp ...
[ 26%] Compiling modules\openxr\scene\openxr_visibility_mask.cpp ...
[ 26%] Compiling modules\openxr\editor\openxr_action_editor.cpp ...
[ 26%] Linking Static Library modules\module_multiplayer.windows.editor.dev.x86_64.lib ...
[ 26%] Compiling modules\openxr\editor\openxr_action_map_editor.cpp ...
[ 26%] Compiling modules\openxr\editor\openxr_action_set_editor.cpp ...
[ 26%] Compiling modules\openxr\editor\openxr_editor_plugin.cpp ...
[ 26%] Compiling modules\openxr\editor\openxr_interaction_profile_editor.cpp ...
[ 26%] Compiling modules\openxr\editor\openxr_select_action_dialog.cpp ...
[ 26%] Compiling modules\openxr\editor\openxr_select_interaction_profile_dialog.cpp ...
[ 26%] Compiling modules\openxr\editor\openxr_select_runtime.cpp ...
[ 28%] Compiling modules\raycast\raycast_occlusion_cull.cpp ...
[ 28%] Compiling modules\raycast\register_types.cpp ...
[ 30%] Compiling modules\svg\image_loader_svg.cpp ...
[ 30%] Linking Static Library modules\module_navigation.windows.editor.dev.x86_64.lib ...
[ 30%] Compiling modules\svg\register_types.cpp ...
[ 38%] Compiling modules\text_server_adv\register_types.cpp ...
[ 38%] Linking Static Library modules\module_noise.windows.editor.dev.x86_64.lib ...
[ 38%] Compiling modules\text_server_adv\text_server_adv.cpp ...
[ 38%] Compiling modules\text_server_adv\thorvg_bounds_iterator.cpp ...
[ 38%] Compiling modules\text_server_adv\thorvg_svg_in_ot.cpp ...
[ 38%] Compiling modules\tga\image_loader_tga.cpp ...
[ 38%] Compiling modules\tga\register_types.cpp ...
[ 38%] Compiling modules\tinyexr\image_loader_tinyexr.cpp ...
[ 38%] Compiling modules\tinyexr\image_saver_tinyexr.cpp ...
[ 38%] Compiling modules\tinyexr\register_types.cpp ...
[ 38%] Linking Static Library modules\module_svg.windows.editor.dev.x86_64.lib ...
[ 39%] Compiling modules\vhacd\register_types.cpp ...
[ 41%] Compiling modules\webp\image_loader_webp.cpp ...
[ 41%] Linking Static Library modules\module_raycast.windows.editor.dev.x86_64.lib ...
[ 41%] Compiling modules\webp\register_types.cpp ...
[ 41%] Compiling modules\webp\resource_saver_webp.cpp ...
[ 41%] Compiling modules\webp\webp_common.cpp ...
[ 41%] Compiling modules\webrtc\webrtc_multiplayer_peer.cpp ...
[ 42%] Compiling modules\websocket\emws_peer.cpp ...
[ 42%] Compiling modules\websocket\register_types.cpp ...
[ 42%] Compiling modules\websocket\remote_debugger_peer_websocket.cpp ...
[ 42%] Compiling modules\websocket\websocket_multiplayer_peer.cpp ...
[ 42%] Compiling modules\websocket\websocket_peer.cpp ...
[ 42%] Compiling modules\websocket\wsl_peer.cpp ...
[ 42%] Compiling modules\websocket\editor\editor_debugger_server_websocket.cpp ...
[ 42%] Compiling modules\webxr\register_types.cpp ...
[ 42%] Compiling modules\webxr\webxr_interface.cpp ...
[ 42%] Compiling modules\webxr\webxr_interface_js.cpp ...
[ 42%] Compiling modules\zip\zip_packer.cpp ...
[ 42%] Linking Static Library modules\module_openxr.windows.editor.dev.x86_64.lib ...
[ 42%] Compiling platform\web\api\api.cpp ...
[ 42%] Compiling platform\web\api\web_tools_editor_plugin.cpp ...
[ 42%] Compiling drivers\unix\dir_access_unix.cpp ...
[ 42%] Compiling drivers\unix\file_access_unix.cpp ...
[ 42%] Compiling drivers\unix\file_access_unix_pipe.cpp ...
[ 42%] Compiling drivers\unix\ip_unix.cpp ...
[ 42%] Compiling drivers\unix\net_socket_unix.cpp ...
[ 42%] Compiling drivers\unix\os_unix.cpp ...
[ 42%] Compiling drivers\unix\syslog_logger.cpp ...
[ 42%] Compiling drivers\windows\dir_access_windows.cpp ...
[ 42%] Compiling drivers\windows\file_access_windows.cpp ...
[ 42%] Compiling drivers\windows\file_access_windows_pipe.cpp ...
[ 42%] Compiling drivers\windows\net_socket_winsock.cpp ...
[ 42%] Compiling drivers\alsa\audio_driver_alsa.cpp ...
[ 42%] Compiling drivers\pulseaudio\audio_driver_pulseaudio.cpp ...
[ 42%] Compiling drivers\wasapi\audio_driver_wasapi.cpp ...
[ 42%] Linking Static Library modules\module_tga.windows.editor.dev.x86_64.lib ...
[ 42%] Compiling drivers\alsamidi\midi_driver_alsamidi.cpp ...
[ 42%] Linking Static Library modules\module_tinyexr.windows.editor.dev.x86_64.lib ...
[ 43%] Compiling drivers\vulkan\rendering_context_driver_vulkan.cpp ...
[ 43%] Compiling drivers\vulkan\rendering_device_driver_vulkan.cpp ...
[ 43%] Compiling drivers\d3d12\d3d12ma.cpp ...
[ 43%] Compiling drivers\d3d12\rendering_context_driver_d3d12.cpp ...
[ 43%] Compiling drivers\d3d12\rendering_device_driver_d3d12.cpp ...
[ 43%] Compiling drivers\gles3\rasterizer_canvas_gles3.cpp ...
[ 43%] ...
[ 43%] Compiling drivers\gles3\rasterizer_scene_gles3.cpp ...
[ 43%] Linking Static Library platform\platform.windows.editor.dev.x86_64.lib ...
[ 43%] Linking Static Library modules\module_webrtc.windows.editor.dev.x86_64.lib ...
[ 43%] Compiling drivers\gles3\shader_gles3.cpp ...
[ 43%] Compiling drivers\gles3\storage\config.cpp ...
[ 43%] Linking Static Library modules\module_vhacd.windows.editor.dev.x86_64.lib ...
[ 43%] Compiling drivers\gles3\storage\light_storage.cpp ...
[ 43%] Linking Static Library modules\module_zip.windows.editor.dev.x86_64.lib ...
[ 43%] Compiling drivers\gles3\storage\material_storage.cpp ...
[ 43%] Compiling drivers\gles3\storage\mesh_storage.cpp ...
[ 43%] Linking Static Library modules\module_webp.windows.editor.dev.x86_64.lib ...
[ 43%] Compiling drivers\gles3\storage\particles_storage.cpp ...
[ 43%] Compiling drivers\gles3\storage\render_scene_buffers_gles3.cpp ...
[ 43%] Compiling drivers\gles3\storage\texture_storage.cpp ...
[ 43%] Compiling drivers\gles3\storage\utilities.cpp ...
[ 43%] Compiling drivers\gles3\effects\copy_effects.cpp ...
[ 43%] Compiling drivers\gles3\effects\cubemap_filter.cpp ...
[ 44%] Compiling drivers\gles3\effects\feed_effects.cpp ...
[ 44%] Compiling drivers\gles3\effects\glow.cpp ...
[ 44%] Compiling drivers\gles3\effects\post_effects.cpp ...
[ 44%] Compiling drivers\gles3\environment\fog.cpp ...
[ 44%] Compiling drivers\gles3\environment\gi.cpp ...
[ 44%] Compiling drivers\egl\egl_manager.cpp ...
[ 44%] Linking Static Library modules\module_webxr.windows.editor.dev.x86_64.lib ...
[ 44%] Compiling drivers\png\image_loader_png.cpp ...
[ 44%] Compiling drivers\png\png_driver_common.cpp ...
[ 44%] Compiling drivers\png\resource_saver_png.cpp ...
[ 44%] Compiling drivers\register_driver_types.cpp ...
[ 44%] Compiling platform\android\export\export.cpp ...
[ 44%] Linking Static Library modules\module_websocket.windows.editor.dev.x86_64.lib ...
[ 44%] Compiling platform\android\export\export_plugin.cpp ...
[ 44%] Compiling platform\android\export\gradle_export_util.cpp ...
[ 44%] Compiling platform\ios\export\export.cpp ...
[ 44%] Compiling platform\ios\export\export_plugin.cpp ...
[ 44%] Compiling platform\linuxbsd\export\export.cpp ...
[ 44%] Compiling platform\linuxbsd\export\export_plugin.cpp ...
[ 44%] Compiling platform\macos\export\export.cpp ...
[ 44%] Compiling platform\macos\export\export_plugin.cpp ...
[ 44%] Compiling platform\web\export\editor_http_server.cpp ...
[ 44%] Compiling platform\web\export\export.cpp ...
[ 44%] Compiling platform\web\export\export_plugin.cpp ...
[ 44%] Compiling platform\windows\export\export.cpp ...
[ 45%] Compiling platform\windows\export\export_plugin.cpp ...
[ 45%] Compiling editor\action_map_editor.cpp ...
[ 45%] Compiling editor\add_metadata_dialog.cpp ...
[ 45%] Compiling editor\animation_bezier_editor.cpp ...
[ 45%] Compiling editor\animation_track_editor.cpp ...
[ 45%] Compiling editor\animation_track_editor_plugins.cpp ...
[ 45%] Compiling editor\audio_stream_preview.cpp ...
[ 45%] Compiling editor\code_editor.cpp ...
[ 45%] Compiling editor\connections_dialog.cpp ...
[ 45%] Compiling editor\create_dialog.cpp ...
[ 45%] Compiling editor\dependency_editor.cpp ...
[ 45%] Compiling editor\directory_create_dialog.cpp ...
[ 45%] Compiling editor\doc_tools.cpp ...
[ 45%] Compiling editor\editor_about.cpp ...
[ 45%] Compiling editor\editor_asset_installer.cpp ...
[ 45%] Linking Static Library drivers\drivers.windows.editor.dev.x86_64.lib ...
[ 45%] Linking Static Library modules\module_text_server_adv.windows.editor.dev.x86_64.lib ...
[ 45%] Compiling editor\editor_atlas_packer.cpp ...
[ 45%] Compiling editor\editor_audio_buses.cpp ...
[ 45%] Compiling editor\editor_autoload_settings.cpp ...
[ 45%] Compiling editor\editor_build_profile.cpp ...
[ 45%] Compiling editor\editor_command_palette.cpp ...
[ 45%] Compiling editor\editor_data.cpp ...
[ 45%] Compiling editor\editor_dock_manager.cpp ...
[ 45%] Compiling editor\editor_feature_profile.cpp ...
[ 45%] Compiling editor\editor_file_system.cpp ...
[ 45%] Compiling editor\editor_folding.cpp ...
---
TRIMMED BECAUSE THIS WAS TOO LONG FOR GITHUB TO HANDLE
---
[ 66%] Compiling editor\themes\editor_icons.cpp ...
[ 66%] Compiling editor\themes\editor_theme.cpp ...
[ 66%] Compiling editor\themes\editor_theme_manager.cpp ...
[ 66%] Compiling scene\property_utils.cpp ...
[ 66%] Compiling scene\register_scene_types.cpp ...
[ 66%] Compiling scene\main\canvas_item.cpp ...
[ 66%] Compiling scene\main\canvas_layer.cpp ...
[ 66%] Compiling scene\main\http_request.cpp ...
[ 66%] Compiling scene\main\instance_placeholder.cpp ...
[ 66%] Compiling scene\main\missing_node.cpp ...
[ 66%] Compiling scene\main\multiplayer_api.cpp ...
[ 66%] Compiling scene\main\multiplayer_peer.cpp ...
[ 66%] Compiling scene\main\node.cpp ...
[ 66%] Compiling scene\main\resource_preloader.cpp ...
[ 66%] Compiling scene\main\scene_tree.cpp ...
[ 66%] Compiling scene\main\shader_globals_override.cpp ...
[ 66%] Compiling scene\main\status_indicator.cpp ...
[ 66%] Compiling scene\main\timer.cpp ...
[ 66%] Compiling scene\main\viewport.cpp ...
[ 66%] Compiling scene\main\window.cpp ...
[ 66%] Compiling scene\gui\aspect_ratio_container.cpp ...
[ 66%] Compiling scene\gui\base_button.cpp ...
[ 66%] Compiling scene\gui\box_container.cpp ...
[ 66%] Compiling scene\gui\button.cpp ...
[ 66%] Compiling scene\gui\center_container.cpp ...
[ 66%] Compiling scene\gui\check_box.cpp ...
[ 66%] Compiling scene\gui\check_button.cpp ...
[ 66%] Compiling scene\gui\code_edit.cpp ...
[ 66%] Compiling scene\gui\color_mode.cpp ...
[ 66%] Compiling scene\gui\color_picker.cpp ...
[ 66%] Compiling scene\gui\color_rect.cpp ...
[ 66%] Compiling scene\gui\container.cpp ...
[ 66%] Compiling scene\gui\control.cpp ...
[ 66%] Compiling scene\gui\dialogs.cpp ...
[ 67%] Compiling scene\gui\file_dialog.cpp ...
[ 67%] Compiling scene\gui\flow_container.cpp ...
[ 67%] Compiling scene\gui\graph_edit.cpp ...
[ 67%] Compiling scene\gui\graph_edit_arranger.cpp ...
[ 67%] Compiling scene\gui\graph_element.cpp ...
[ 67%] Compiling scene\gui\graph_frame.cpp ...
[ 67%] Compiling scene\gui\graph_node.cpp ...
[ 67%] Compiling scene\gui\grid_container.cpp ...
[ 67%] Compiling scene\gui\item_list.cpp ...
[ 67%] Linking Static Library editor\editor.windows.editor.dev.x86_64.lib ...
[ 67%] Compiling scene\gui\label.cpp ...
[ 67%] Compiling scene\gui\line_edit.cpp ...
[ 67%] Compiling scene\gui\link_button.cpp ...
[ 67%] Compiling scene\gui\margin_container.cpp ...
[ 67%] Compiling scene\gui\menu_bar.cpp ...
[ 67%] Compiling scene\gui\menu_button.cpp ...
[ 67%] Compiling scene\gui\nine_patch_rect.cpp ...
[ 67%] Compiling scene\gui\option_button.cpp ...
[ 67%] Compiling scene\gui\panel.cpp ...
[ 67%] Compiling scene\gui\panel_container.cpp ...
[ 67%] Compiling scene\gui\popup.cpp ...
[ 67%] Compiling scene\gui\popup_menu.cpp ...
[ 67%] Compiling scene\gui\progress_bar.cpp ...
[ 67%] Compiling scene\gui\range.cpp ...
[ 67%] Compiling scene\gui\reference_rect.cpp ...
[ 67%] Compiling scene\gui\rich_text_label.cpp ...
[ 67%] Compiling scene\gui\scroll_bar.cpp ...
[ 67%] Compiling scene\gui\scroll_container.cpp ...
[ 67%] Compiling scene\gui\separator.cpp ...
[ 67%] Compiling scene\gui\slider.cpp ...
[ 67%] Compiling scene\gui\spin_box.cpp ...
[ 67%] Compiling scene\gui\split_container.cpp ...
[ 67%] Compiling scene\gui\subviewport_container.cpp ...
[ 67%] Compiling scene\gui\tab_bar.cpp ...
[ 67%] Compiling scene\gui\tab_container.cpp ...
[ 67%] Compiling scene\gui\text_edit.cpp ...
[ 67%] Compiling scene\gui\texture_button.cpp ...
[ 67%] Compiling scene\gui\texture_progress_bar.cpp ...
[ 67%] Compiling scene\gui\texture_rect.cpp ...
[ 67%] Compiling scene\gui\tree.cpp ...
[ 67%] Compiling scene\gui\video_stream_player.cpp ...
[ 67%] Compiling scene\3d\audio_listener_3d.cpp ...
[ 67%] Compiling scene\3d\audio_stream_player_3d.cpp ...
[ 67%] Compiling scene\3d\bone_attachment_3d.cpp ...
[ 67%] Compiling scene\3d\camera_3d.cpp ...
[ 67%] Compiling scene\3d\cpu_particles_3d.cpp ...
[ 67%] Compiling scene\3d\decal.cpp ...
[ 67%] Compiling scene\3d\fog_volume.cpp ...
[ 67%] Compiling scene\3d\gpu_particles_3d.cpp ...
[ 67%] Compiling scene\3d\gpu_particles_collision_3d.cpp ...
[ 67%] Compiling scene\3d\importer_mesh_instance_3d.cpp ...
[ 67%] Compiling scene\3d\label_3d.cpp ...
[ 67%] Compiling scene\3d\light_3d.cpp ...
[ 67%] Compiling scene\3d\lightmap_gi.cpp ...
[ 67%] Compiling scene\3d\lightmap_probe.cpp ...
[ 67%] Compiling scene\3d\look_at_modifier_3d.cpp ...
[ 67%] Compiling scene\3d\marker_3d.cpp ...
[ 67%] Compiling scene\3d\mesh_instance_3d.cpp ...
[ 67%] Compiling scene\3d\multimesh_instance_3d.cpp ...
[ 67%] Compiling scene\3d\navigation_agent_3d.cpp ...
[ 67%] Compiling scene\3d\navigation_link_3d.cpp ...
[ 67%] Compiling scene\3d\navigation_obstacle_3d.cpp ...
[ 67%] Compiling scene\3d\navigation_region_3d.cpp ...
[ 68%] Compiling scene\3d\node_3d.cpp ...
[ 68%] Compiling scene\3d\occluder_instance_3d.cpp ...
[ 68%] Compiling scene\3d\path_3d.cpp ...
[ 68%] Compiling scene\3d\physical_bone_simulator_3d.cpp ...
[ 68%] Compiling scene\3d\reflection_probe.cpp ...
[ 68%] Compiling scene\3d\remote_transform_3d.cpp ...
[ 68%] Compiling scene\3d\skeleton_3d.cpp ...
[ 68%] Compiling scene\3d\skeleton_ik_3d.cpp ...
[ 68%] Compiling scene\3d\skeleton_modifier_3d.cpp ...
[ 68%] Compiling scene\3d\soft_body_3d.cpp ...
[ 68%] Compiling scene\3d\sprite_3d.cpp ...
[ 68%] Compiling scene\3d\velocity_tracker_3d.cpp ...
[ 68%] Compiling scene\3d\visible_on_screen_notifier_3d.cpp ...
[ 68%] Compiling scene\3d\visual_instance_3d.cpp ...
[ 68%] Compiling scene\3d\voxel_gi.cpp ...
[ 68%] Compiling scene\3d\voxelizer.cpp ...
[ 68%] Compiling scene\3d\world_environment.cpp ...
[ 68%] Compiling scene\3d\xr_body_modifier_3d.cpp ...
[ 68%] Compiling scene\3d\xr_face_modifier_3d.cpp ...
[ 68%] Compiling scene\3d\xr_hand_modifier_3d.cpp ...
[ 68%] Compiling scene\3d\xr_nodes.cpp ...
[ 68%] Compiling scene\3d\physics\animatable_body_3d.cpp ...
[ 68%] Compiling scene\3d\physics\area_3d.cpp ...
[ 68%] Compiling scene\3d\physics\character_body_3d.cpp ...
[ 68%] Compiling scene\3d\physics\collision_object_3d.cpp ...
[ 68%] Compiling scene\3d\physics\collision_polygon_3d.cpp ...
[ 68%] Compiling scene\3d\physics\collision_shape_3d.cpp ...
[ 68%] Compiling scene\3d\physics\kinematic_collision_3d.cpp ...
[ 68%] Compiling scene\3d\physics\physical_bone_3d.cpp ...
[ 68%] Compiling scene\3d\physics\physics_body_3d.cpp ...
[ 68%] Compiling scene\3d\physics\ray_cast_3d.cpp ...
[ 68%] Compiling scene\3d\physics\rigid_body_3d.cpp ...
[ 68%] Compiling scene\3d\physics\shape_cast_3d.cpp ...
[ 68%] Compiling scene\3d\physics\spring_arm_3d.cpp ...
[ 68%] Compiling scene\3d\physics\static_body_3d.cpp ...
[ 68%] Compiling scene\3d\physics\vehicle_body_3d.cpp ...
[ 68%] Compiling scene\3d\physics\joints\cone_twist_joint_3d.cpp ...
[ 68%] Compiling scene\3d\physics\joints\generic_6dof_joint_3d.cpp ...
[ 68%] Compiling scene\3d\physics\joints\hinge_joint_3d.cpp ...
[ 68%] Compiling scene\3d\physics\joints\joint_3d.cpp ...
[ 68%] Compiling scene\3d\physics\joints\pin_joint_3d.cpp ...
[ 68%] Compiling scene\3d\physics\joints\slider_joint_3d.cpp ...
[ 68%] Compiling scene\2d\animated_sprite_2d.cpp ...
[ 68%] Compiling scene\2d\audio_listener_2d.cpp ...
[ 68%] Compiling scene\2d\audio_stream_player_2d.cpp ...
[ 68%] Compiling scene\2d\back_buffer_copy.cpp ...
[ 68%] Compiling scene\2d\camera_2d.cpp ...
[ 68%] Compiling scene\2d\canvas_group.cpp ...
[ 68%] Compiling scene\2d\canvas_modulate.cpp ...
[ 68%] Compiling scene\2d\cpu_particles_2d.cpp ...
[ 68%] Compiling scene\2d\gpu_particles_2d.cpp ...
[ 68%] Compiling scene\2d\light_2d.cpp ...
[ 68%] Compiling scene\2d\light_occluder_2d.cpp ...
[ 68%] Compiling scene\2d\line_2d.cpp ...
[ 68%] Compiling scene\2d\line_builder.cpp ...
[ 68%] Compiling scene\2d\marker_2d.cpp ...
[ 68%] Compiling scene\2d\mesh_instance_2d.cpp ...
[ 68%] Compiling scene\2d\multimesh_instance_2d.cpp ...
[ 68%] Compiling scene\2d\navigation_agent_2d.cpp ...
[ 68%] Compiling scene\2d\navigation_link_2d.cpp ...
[ 68%] Compiling scene\2d\navigation_obstacle_2d.cpp ...
[ 68%] Compiling scene\2d\navigation_region_2d.cpp ...
[ 68%] Compiling scene\2d\node_2d.cpp ...
[ 68%] Compiling scene\2d\parallax_2d.cpp ...
[ 68%] Compiling scene\2d\parallax_background.cpp ...
[ 68%] Compiling scene\2d\parallax_layer.cpp ...
[ 69%] Compiling scene\2d\path_2d.cpp ...
[ 69%] Compiling scene\2d\polygon_2d.cpp ...
[ 69%] Compiling scene\2d\remote_transform_2d.cpp ...
[ 69%] Compiling scene\2d\skeleton_2d.cpp ...
[ 69%] Compiling scene\2d\sprite_2d.cpp ...
[ 69%] Compiling scene\2d\tile_map.cpp ...
[ 69%] Compiling scene\2d\tile_map_layer.cpp ...
[ 69%] Compiling scene\2d\touch_screen_button.cpp ...
[ 69%] Compiling scene\2d\visible_on_screen_notifier_2d.cpp ...
[ 69%] Compiling scene\2d\physics\animatable_body_2d.cpp ...
[ 69%] Compiling scene\2d\physics\area_2d.cpp ...
[ 69%] Compiling scene\2d\physics\character_body_2d.cpp ...
[ 69%] Compiling scene\2d\physics\collision_object_2d.cpp ...
[ 69%] Compiling scene\2d\physics\collision_polygon_2d.cpp ...
[ 69%] Compiling scene\2d\physics\collision_shape_2d.cpp ...
[ 69%] Compiling scene\2d\physics\kinematic_collision_2d.cpp ...
[ 69%] Compiling scene\2d\physics\physical_bone_2d.cpp ...
[ 69%] Compiling scene\2d\physics\physics_body_2d.cpp ...
[ 69%] Compiling scene\2d\physics\ray_cast_2d.cpp ...
[ 69%] Compiling scene\2d\physics\rigid_body_2d.cpp ...
[ 69%] Compiling scene\2d\physics\shape_cast_2d.cpp ...
[ 69%] Compiling scene\2d\physics\static_body_2d.cpp ...
[ 69%] Compiling scene\2d\physics\joints\damped_spring_joint_2d.cpp ...
[ 69%] Compiling scene\2d\physics\joints\groove_joint_2d.cpp ...
[ 69%] Compiling scene\2d\physics\joints\joint_2d.cpp ...
[ 69%] Compiling scene\2d\physics\joints\pin_joint_2d.cpp ...
[ 69%] Compiling scene\animation\animation_blend_space_1d.cpp ...
[ 69%] Compiling scene\animation\animation_blend_space_2d.cpp ...
[ 69%] Compiling scene\animation\animation_blend_tree.cpp ...
[ 69%] Compiling scene\animation\animation_mixer.cpp ...
[ 69%] Compiling scene\animation\animation_node_state_machine.cpp ...
[ 69%] Compiling scene\animation\animation_player.cpp ...
[ 69%] Compiling scene\animation\animation_tree.cpp ...
[ 69%] Compiling scene\animation\root_motion_view.cpp ...
[ 69%] Compiling scene\animation\tween.cpp ...
[ 69%] Compiling scene\audio\audio_stream_player.cpp ...
[ 69%] Compiling scene\audio\audio_stream_player_internal.cpp ...
[ 69%] Compiling scene\resources\animated_texture.cpp ...
[ 69%] Compiling scene\resources\atlas_texture.cpp ...
[ 69%] Compiling scene\resources\audio_stream_polyphonic.cpp ...
[ 69%] Compiling scene\resources\audio_stream_wav.cpp ...
[ 69%] Compiling scene\resources\bit_map.cpp ...
[ 69%] Compiling scene\resources\bone_map.cpp ...
[ 69%] Compiling scene\resources\camera_attributes.cpp ...
[ 69%] Compiling scene\resources\camera_texture.cpp ...
[ 69%] Compiling scene\resources\canvas_item_material.cpp ...
[ 69%] Compiling scene\resources\compositor.cpp ...
[ 69%] Compiling scene\resources\compressed_texture.cpp ...
[ 69%] Compiling scene\resources\curve_texture.cpp ...
[ 69%] Compiling scene\resources\environment.cpp ...
[ 69%] Compiling scene\resources\external_texture.cpp ...
[ 69%] Compiling scene\resources\font.cpp ...
[ 69%] Compiling scene\resources\gradient_texture.cpp ...
[ 69%] Compiling scene\resources\image_texture.cpp ...
[ 69%] Compiling scene\resources\immediate_mesh.cpp ...
[ 69%] Compiling scene\resources\label_settings.cpp ...
[ 69%] Compiling scene\resources\material.cpp ...
[ 69%] Compiling scene\resources\mesh.cpp ...
[ 69%] Compiling scene\resources\mesh_data_tool.cpp ...
[ 69%] Compiling scene\resources\mesh_texture.cpp ...
[ 70%] Compiling scene\resources\multimesh.cpp ...
[ 70%] Compiling scene\resources\navigation_mesh.cpp ...
[ 70%] Compiling scene\resources\packed_scene.cpp ...
[ 70%] Compiling scene\resources\particle_process_material.cpp ...
[ 70%] Compiling scene\resources\placeholder_textures.cpp ...
[ 70%] Compiling scene\resources\portable_compressed_texture.cpp ...
[ 70%] Compiling scene\resources\resource_format_text.cpp ...
[ 70%] Compiling scene\resources\shader.cpp ...
[ 70%] Compiling scene\resources\shader_include.cpp ...
[ 70%] Compiling scene\resources\skeleton_profile.cpp ...
[ 70%] Compiling scene\resources\sky.cpp ...
[ 70%] Compiling scene\resources\sprite_frames.cpp ...
[ 70%] Compiling scene\resources\style_box.cpp ...
[ 70%] Compiling scene\resources\style_box_flat.cpp ...
[ 70%] Compiling scene\resources\style_box_line.cpp ...
[ 70%] Compiling scene\resources\style_box_texture.cpp ...
[ 70%] Compiling scene\resources\surface_tool.cpp ...
[ 70%] Compiling scene\resources\syntax_highlighter.cpp ...
[ 70%] Compiling scene\resources\text_file.cpp ...
[ 70%] Compiling scene\resources\text_line.cpp ...
[ 70%] Compiling scene\resources\text_paragraph.cpp ...
[ 70%] Compiling scene\resources\texture.cpp ...
[ 70%] Compiling scene\resources\texture_rd.cpp ...
[ 70%] Compiling scene\resources\theme.cpp ...
[ 70%] Compiling scene\resources\video_stream.cpp ...
[ 70%] Compiling scene\resources\visual_shader.cpp ...
[ 70%] Compiling scene\resources\visual_shader_nodes.cpp ...
[ 70%] Compiling scene\resources\visual_shader_particle_nodes.cpp ...
[ 70%] Compiling scene\resources\visual_shader_sdf_nodes.cpp ...
[ 70%] Compiling scene\resources\world_2d.cpp ...
[ 70%] Compiling scene\resources\2d\capsule_shape_2d.cpp ...
[ 70%] Compiling scene\resources\2d\circle_shape_2d.cpp ...
[ 70%] Compiling scene\resources\2d\concave_polygon_shape_2d.cpp ...
[ 70%] Compiling scene\resources\2d\convex_polygon_shape_2d.cpp ...
[ 70%] Compiling scene\resources\2d\navigation_mesh_source_geometry_data_2d.cpp ...
[ 70%] Compiling scene\resources\2d\navigation_polygon.cpp ...
[ 70%] Compiling scene\resources\2d\rectangle_shape_2d.cpp ...
[ 70%] Compiling scene\resources\2d\segment_shape_2d.cpp ...
[ 70%] Compiling scene\resources\2d\separation_ray_shape_2d.cpp ...
[ 70%] Compiling scene\resources\2d\tile_set.cpp ...
[ 70%] Compiling scene\resources\2d\world_boundary_shape_2d.cpp ...
[ 70%] Compiling scene\resources\2d\skeleton\skeleton_modification_2d.cpp ...
[ 70%] Compiling scene\resources\2d\skeleton\skeleton_modification_2d_ccdik.cpp ...
[ 70%] Compiling scene\resources\2d\skeleton\skeleton_modification_2d_fabrik.cpp ...
[ 70%] Compiling scene\resources\2d\skeleton\skeleton_modification_2d_jiggle.cpp ...
[ 70%] Compiling scene\resources\2d\skeleton\skeleton_modification_2d_lookat.cpp ...
[ 70%] Compiling scene\resources\2d\skeleton\skeleton_modification_2d_physicalbones.cpp ...
[ 70%] Compiling scene\resources\2d\skeleton\skeleton_modification_2d_stackholder.cpp ...
[ 70%] Compiling scene\resources\2d\skeleton\skeleton_modification_2d_twoboneik.cpp ...
[ 70%] Compiling scene\resources\2d\skeleton\skeleton_modification_stack_2d.cpp ...
[ 70%] Compiling scene\resources\3d\fog_material.cpp ...
[ 70%] Compiling scene\resources\3d\importer_mesh.cpp ...
[ 70%] Compiling scene\resources\3d\mesh_library.cpp ...
[ 70%] Compiling scene\resources\3d\navigation_mesh_source_geometry_data_3d.cpp ...
[ 70%] Compiling scene\resources\3d\primitive_meshes.cpp ...
[ 70%] Compiling scene\resources\3d\shape_3d.cpp ...
[ 71%] Compiling scene\resources\3d\sky_material.cpp ...
[ 71%] Compiling scene\resources\3d\world_3d.cpp ...
[ 71%] Compiling scene\debugger\scene_debugger.cpp ...
[ 71%] Compiling scene\theme\default_theme.cpp ...
[ 71%] Compiling scene\theme\theme_db.cpp ...
[ 71%] Compiling scene\theme\theme_owner.cpp ...
[ 71%] Compiling servers\audio_server.cpp ...
[ 71%] Compiling servers\camera_server.cpp ...
[ 71%] Compiling servers\display_server.cpp ...
[ 71%] Compiling servers\navigation_server_2d.cpp ...
[ 71%] Compiling servers\navigation_server_3d.cpp ...
[ 71%] Compiling servers\physics_server_2d_wrap_mt.cpp ...
[ 71%] Compiling servers\register_server_types.cpp ...
[ 71%] Compiling servers\rendering_server.cpp ...
[ 72%] Compiling servers\text_server.cpp ...
[ 72%] Compiling servers\audio\audio_driver_dummy.cpp ...
[ 72%] Compiling servers\audio\audio_rb_resampler.cpp ...
[ 72%] Compiling servers\audio\audio_stream.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_capture.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_chorus.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_compressor.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_delay.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_distortion.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_eq.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_filter.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_hard_limiter.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_phaser.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_pitch_shift.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_record.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_reverb.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_spectrum_analyzer.cpp ...
[ 72%] Compiling servers\audio\effects\audio_effect_stereo_enhance.cpp ...
[ 72%] Compiling servers\audio\effects\audio_stream_generator.cpp ...
[ 72%] Compiling servers\camera\camera_feed.cpp ...
[ 72%] Compiling servers\debugger\servers_debugger.cpp ...
[ 72%] Compiling servers\display\native_menu.cpp ...
[ 72%] Compiling servers\movie_writer\movie_writer.cpp ...
[ 72%] Compiling servers\movie_writer\movie_writer_mjpeg.cpp ...
[ 72%] Compiling servers\movie_writer\movie_writer_pngwav.cpp ...
[ 72%] Compiling servers\rendering\renderer_canvas_cull.cpp ...
[ 72%] Compiling servers\rendering\renderer_canvas_render.cpp ...
[ 72%] ..
[ 72%] Compiling servers\rendering\renderer_geometry_instance.cpp ...
[ 72%] Compiling servers\rendering\renderer_scene_cull.cpp ...
[ 72%] Compiling servers\rendering\renderer_scene_occlusion_cull.cpp ...
[ 72%] Compiling servers\rendering\renderer_scene_render.cpp ...
[ 72%] Compiling servers\rendering\renderer_viewport.cpp ...
[ 72%] Compiling servers\rendering\rendering_context_driver.cpp ...
[ 72%] Compiling servers\rendering\rendering_device.cpp ...
[ 72%] Compiling servers\rendering\rendering_device_binds.cpp ...
[ 72%] Compiling servers\rendering\rendering_device_driver.cpp ...
[ 72%] Compiling servers\rendering\rendering_device_graph.cpp ...
[ 72%] Linking Static Library scene\scene.windows.editor.dev.x86_64.lib ...
[ 72%] Compiling servers\rendering\rendering_light_culler.cpp ...
[ 72%] Compiling servers\rendering\rendering_method.cpp ...
[ 72%] Compiling servers\rendering\rendering_server_default.cpp ...
[ 72%] Compiling servers\rendering\rendering_server_globals.cpp ...
[ 72%] Compiling servers\rendering\shader_compiler.cpp ...
[ 72%] Compiling servers\rendering\shader_language.cpp ...
[ 72%] Compiling servers\rendering\shader_preprocessor.cpp ...
[ 72%] Compiling servers\rendering\shader_types.cpp ...
[ 72%] Compiling servers\rendering\dummy\storage\light_storage.cpp ...
[ 72%] Compiling servers\rendering\dummy\storage\material_storage.cpp ...
[ 72%] Compiling servers\rendering\dummy\storage\mesh_storage.cpp ...
[ 72%] 3;24;29m ...
[ 72%] 0mrendering\dummy\storage\texture_storage.cpp
[ 72%] Compiling servers\rendering\renderer_rd\cluster_builder_rd.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\framebuffer_cache_rd.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\pipeline_cache_rd.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\renderer_canvas_render_rd.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\renderer_compositor_rd.cpp ...
[ 73%] ;24;29m ...
[ 73%] Compiling servers\rendering\renderer_rd\shader_rd.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\uniform_set_cache_rd.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\bokeh_dof.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\copy_effects.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\debug_effects.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\fsr.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\fsr2.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\luminance.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\resolve.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\roughness_limiter.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\sort_effects.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\ss_effects.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\taa.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\tone_mapper.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\effects\vrs.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\environment\fog.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\environment\gi.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\environment\sky.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\forward_clustered\render_forward_clustered.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\forward_clustered\scene_shader_forward_clustered.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\forward_mobile\render_forward_mobile.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\forward_mobile\scene_shader_forward_mobile.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\storage_rd\forward_id_storage.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\storage_rd\light_storage.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\storage_rd\material_storage.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\storage_rd\mesh_storage.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\storage_rd\particles_storage.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\storage_rd\render_data_rd.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\storage_rd\render_scene_buffers_rd.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\storage_rd\render_scene_data_rd.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\storage_rd\texture_storage.cpp ...
[ 73%] Compiling servers\rendering\renderer_rd\storage_rd\utilities.cpp ...
[ 73%] Compiling servers\rendering\storage\camera_attributes_storage.cpp ...
[ 73%] Compiling servers\rendering\storage\compositor_storage.cpp ...
[ 73%] Compiling servers\rendering\storage\environment_storage.cpp ...
[ 73%] Compiling servers\rendering\storage\mesh_storage.cpp ...
[ 73%] Compiling servers\rendering\storage\render_data.cpp ...
[ 73%] Compiling servers\rendering\storage\render_scene_buffers.cpp ...
[ 73%] Compiling servers\rendering\storage\utilities.cpp ...
[ 73%] Compiling servers\text\text_server_extension.cpp ...
[ 73%] Compiling servers\physics_server_3d_wrap_mt.cpp ...
[ 73%] Compiling servers\xr\xr_body_tracker.cpp ...
[ 73%] Compiling servers\xr\xr_controller_tracker.cpp ...
[ 73%] Compiling servers\xr\xr_face_tracker.cpp ...
[ 73%] Compiling servers\xr\xr_hand_tracker.cpp ...
[ 73%] Compiling servers\xr\xr_interface.cpp ...
[ 73%] Compiling servers\xr\xr_interface_extension.cpp ...
[ 73%] Compiling servers\xr\xr_pose.cpp ...
[ 73%] Compiling servers\xr\xr_positional_tracker.cpp ...
[ 73%] Compiling servers\xr\xr_tracker.cpp ...
[ 73%] Compiling servers\xr\xr_vrs.cpp ...
[ 73%] Compiling servers\xr_server.cpp ...
[ 75%] Compiling core\core_bind.cpp ...
[ 75%] Compiling core\register_core_types.cpp ...
[ 75%] Compiling core\os\keyboard.cpp ...
[ 75%] Compiling core\os\os.cpp ...
[ 75%] Compiling core\os\time.cpp ...
[ 75%] Compiling core\math\random_pcg.cpp ...
[ 75%] Compiling core\crypto\crypto.cpp ...
[ 75%] Compiling core\crypto\crypto_core.cpp ...
[ 76%] Compiling core\io\dir_access.cpp ...
[ 76%] Compiling core\io\dtls_server.cpp ...
[ 76%] Compiling core\io\file_access.cpp ...
[ 76%] Compiling core\io\file_access_pack.cpp ...
[ 76%] Compiling core\io\http_client.cpp ...
[ 76%] Compiling core\io\http_client_tcp.cpp ...
[ 76%] Compiling core\io\image.cpp ...
[ 76%] Compiling core\io\image_loader.cpp ...
[ 76%] Compiling core\io\ip.cpp ...
[ 76%] Compiling core\io\json.cpp ...
[ 76%] Compiling core\io\logger.cpp ...
[ 76%] Compiling core\io\marshalls.cpp ...
[ 76%] Compiling core\io\net_socket.cpp ...
[ 76%] Compiling core\io\packet_peer_dtls.cpp ...
[ 76%] Compiling core\io\packet_peer_udp.cpp ...
[ 76%] Compiling core\io\remote_filesystem_client.cpp ...
[ 76%] Compiling core\io\resource.cpp ...
[ 76%] Compiling core\io\resource_format_binary.cpp ...
[ 76%] Compiling core\io\resource_importer.cpp ...
[ 76%] Compiling core\io\resource_loader.cpp ...
[ 76%] Compiling core\io\resource_saver.cpp ...
[ 76%] Compiling core\io\resource_uid.cpp ...
[ 76%] Compiling core\io\stream_peer_gzip.cpp ...
[ 76%] Compiling core\io\stream_peer_tcp.cpp ...
[ 76%] Compiling core\io\stream_peer_tls.cpp ...
[ 76%] Compiling core\io\tcp_server.cpp ...
[ 76%] Compiling core\io\translation_loader_po.cpp ...
[ 76%] Compiling core\io\udp_server.cpp ...
[ 76%] Compiling core\debugger\engine_debugger.cpp ...
[ 76%] Compiling core\debugger\local_debugger.cpp ...
[ 76%] Linking Static Library servers\servers.windows.editor.dev.x86_64.lib ...
[ 76%] Compiling core\debugger\remote_debugger.cpp ...
[ 76%] Compiling core\debugger\remote_debugger_peer.cpp ...
[ 76%] Compiling core\input\input.cpp ...
[ 76%] Compiling core\input\input_event.cpp ...
[ 76%] Compiling core\input\input_map.cpp ...
[ 76%] Compiling core\variant\variant.cpp ...
[ 76%] Compiling core\variant\variant_call.cpp ...
[ 76%] Compiling core\variant\variant_construct.cpp ...
[ 77%] Compiling core\variant\variant_parser.cpp ...
[ 77%] Compiling core\variant\variant_utility.cpp ...
[ 77%] Compiling core\extension\extension_api_dump.cpp ...
[ 77%] Compiling core\extension\gdextension.cpp ...
[ 77%] Compiling core\extension\gdextension_interface.cpp ...
[ 77%] Compiling core\extension\gdextension_library_loader.cpp ...
[ 77%] Compiling core\extension\gdextension_manager.cpp ...
[ 77%] Compiling core\object\class_db.cpp ...
[ 77%] Compiling core\object\object.cpp ...
[ 77%] Compiling core\object\script_language.cpp ...
[ 77%] Compiling core\object\undo_redo.cpp ...
[ 77%] Compiling core\object\worker_thread_pool.cpp ...
[ 77%] Compiling core\templates\command_queue_mt.cpp ...
[ 77%] Compiling core\string\print_string.cpp ...
[ 77%] Compiling core\string\string_name.cpp ...
[ 77%] Compiling core\string\translation.cpp ...
[ 77%] Compiling core\string\translation_server.cpp ...
[ 77%] Compiling core\config\engine.cpp ...
[ 77%] Compiling core\config\project_settings.cpp ...
[ 77%] Compiling core\error\error_macros.cpp ...
[ 94%] Building compilation database compile_commands.json
[ 99%] Building node count database .scons_node_count
[ 99%] Linking Static Library core\core.windows.editor.dev.x86_64.lib ...
[ 99%] Linking Program bin\godot.windows.editor.dev.x86_64.exe ...
[ 99%] Linking Program bin\godot.windows.editor.dev.x86_64.console.exe ...
[ 99%] scons: done building targets.
[Time elapsed: 00:02:50.81]
 *  Terminal will be reused by tasks, press any key to close it. 
After - 00:25.40
scons: Building targets ...
[  4%] Generating editor\doc_data_class_path.gen.h ...
[  8%] Generating modules\text_server_fb_enabled.gen.h ...
[  8%] Compiling main\main.cpp ...
[  8%] Generating modules\register_module_types.gen.cpp ...
[ 54%] Generating editor\doc_data_compressed.gen.h ...
[ 54%] Compiling modules\register_module_types.gen.cpp ...
[ 80%] Compiling editor\editor_help.cpp ...
[ 80%] Linking Static Library main\main.windows.editor.dev.x86_64.lib ...
[ 80%] Linking Static Library modules\modules.windows.editor.dev.x86_64.lib ...
[ 97%] Building compilation database compile_commands.json
[ 99%] Building node count database .scons_node_count
[100%] Linking Static Library editor\editor.windows.editor.dev.x86_64.lib ...
[100%] Linking Program bin\godot.windows.editor.dev.x86_64.exe ...
[100%] Linking Program bin\godot.windows.editor.dev.x86_64.console.exe ...
[100%] scons: done building targets.
[Time elapsed: 00:00:25.40]

@Repiteo Repiteo requested review from a team as code owners November 15, 2024 22:06
@Repiteo Repiteo added this to the 4.4 milestone Nov 15, 2024
@Repiteo Repiteo removed request for a team November 15, 2024 22:07
@Repiteo Repiteo removed request for a team November 15, 2024 22:07
@Repiteo Repiteo marked this pull request as draft November 15, 2024 22:09
@akien-mga
Copy link
Member

How does this work if you e.g. disable the regex module? It won't generate modules/regex_enabled.gen.h and the include will fail.

@Repiteo
Copy link
Contributor Author

Repiteo commented Nov 15, 2024

Even if a module is disabled, the corresponding file will still generate. The difference is that the file's define will be commented out instead

@akien-mga
Copy link
Member

akien-mga commented Nov 15, 2024

Hm it still breaks the modularity by making assumptions on the presence of the module folder. Modules can be third-party modules that are not included in this repo, and the engine code that may depend on such a module should still compile whether or not the module was present at build time. Likewise, uses should be able to git rm -rf modules/<module> without having the rest of the engine fail building.

I do like the gain in incremental rebuild times though, but I'm not sure how to achieve it in a clean way.

@Repiteo
Copy link
Contributor Author

Repiteo commented Nov 15, 2024

I'm not completely married to this idea yet, that's part of why it's a draft. However, one immediate benefit is getting a handle on module dependencies & where some #include oversights have been occuring. I've already found and fixed a few include sorting issues for the text servers, but now something similar is affecting cvtt & I'm able to diagnose in an isolated manner to an degree that wasn't feasible before before

@Repiteo Repiteo force-pushed the scons/separate_module_defines branch from bc658ad to 197d288 Compare November 15, 2024 22:28
@Repiteo Repiteo modified the milestones: 4.4, 4.x Nov 15, 2024
@dustdfg
Copy link
Contributor

dustdfg commented Nov 16, 2024

Ohh. This method is much more elegant than writing custom scons decider which I wanted to try!

@Repiteo Repiteo force-pushed the scons/separate_module_defines branch from 197d288 to 8fba81e Compare November 17, 2024 14:40
@Repiteo
Copy link
Contributor Author

Repiteo commented Nov 17, 2024

Alright, got a potential workaround: a short list of hardcoded module names. Basically, any module that can be explicitly used elsewhere in the repo is added to this list, so that the header file will generate even if the module itself is gone. It's a relatively short list, with only 17 out of 53 (~32%) modules being used in this manner, meaning a supermajority of modules are rather self-isolated

HOWEVER. In doing this, I realized just how many modules are included in headers for core, editor, platform, and scene. As I understand it, all of these are breaking the dependency-order "rule". So this entire process is likely just introducing yet another workaround for what's actually a much larger issue: misordered dependencies. I'm gonna instead shift focus to making a hook which can detect these situations

@Repiteo
Copy link
Contributor Author

Repiteo commented Mar 8, 2025

Superseded by #100023

@Repiteo Repiteo closed this Mar 8, 2025
@Repiteo Repiteo removed this from the 4.x milestone Mar 8, 2025
@Repiteo Repiteo deleted the scons/separate_module_defines branch March 16, 2025 04:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants