From 82f2cae0f64de7c3bef2c438a18c8f4a9675e08b Mon Sep 17 00:00:00 2001 From: Sara Date: Mon, 23 Jun 2025 21:13:38 +0200 Subject: [PATCH 1/5] fix: added .cache and build artifacts to gitignore --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index b8680775..3035daa0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,9 +6,15 @@ config.log .sconf_temp +# build artifacts +*.o +compile_commands.json engine/.github project/.godot build/PROJECT.pck build/PROJECT.x86_64 build/PROJECT.exe build.zip + +# general-purpose cache folder (used by e.g clangd) +.cache From d87b782d6d5766c28848694291b033337bac5589 Mon Sep 17 00:00:00 2001 From: Sara Date: Sun, 21 Dec 2025 14:30:58 +0100 Subject: [PATCH 2/5] fix: justfile updates self to rename build --- justfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/justfile b/justfile index ad0c5d09..a4de92f4 100644 --- a/justfile +++ b/justfile @@ -37,9 +37,8 @@ release-windows: build initialize-template projectname: # Initializing Template {{projectname}} sed -i -e "s/PROJECT/{{projectname}}/g" ./modules/PROJECT/register_types.h ./modules/PROJECT/register_types.cpp ./project/project.godot ./project/export_presets.cfg .gitignore - sed "s/change_me/{{projectname}}/" ./justfile + sed -i -e "s/change_me/{{projectname}}/" ./justfile mv ./modules/PROJECT ./modules/{{projectname}} - # Done Initializing, you will still have to update BUILD_NAME in your justfile format: # Formatting Custom Modules From 71b3ecd3db730392ff080536a3200039d9b6a9b1 Mon Sep 17 00:00:00 2001 From: Sara Date: Mon, 29 Dec 2025 17:10:12 +0100 Subject: [PATCH 3/5] feat: added .dir-locals.el emacs config file --- .dir-locals.el | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .dir-locals.el diff --git a/.dir-locals.el b/.dir-locals.el new file mode 100644 index 00000000..2438524f --- /dev/null +++ b/.dir-locals.el @@ -0,0 +1,4 @@ +((c-mode . ((mode . c++))) + (c++-mode . ((mode . clang-format-on-save))) + (nil . ((projectile-project-compilation-cmd . "just build") + (projectile-project-run-cmd . "engine/bin/godot.linuxbsd.editor.dev.x86_64.llvm")))) From e8547925ac966881e50387128004c452a1913c67 Mon Sep 17 00:00:00 2001 From: Sara Date: Mon, 26 Jan 2026 13:06:20 +0100 Subject: [PATCH 4/5] feat: more projectile compile commands --- .dir-locals.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.dir-locals.el b/.dir-locals.el index 2438524f..431241d7 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -1,4 +1,5 @@ ((c-mode . ((mode . c++))) (c++-mode . ((mode . clang-format-on-save))) (nil . ((projectile-project-compilation-cmd . "just build") - (projectile-project-run-cmd . "engine/bin/godot.linuxbsd.editor.dev.x86_64.llvm")))) + (projectile-project-run-cmd . "engine/bin/godot.linuxbsd.editor.dev.x86_64.llvm --path project") + (projectile-project-configure-cmd . "engine/bin/godot.linuxbsd.editor.dev.x86_64.llvm --path project -e")))) From 5452320719a59ffd4c3980a535d4f4a482a83140 Mon Sep 17 00:00:00 2001 From: Sara Date: Wed, 28 Jan 2026 23:29:49 +0100 Subject: [PATCH 5/5] feat: less hacky release builds --- .gitignore | 6 ++---- build/.gitkeep | 0 justfile | 44 ++++++++++++++++++++++++-------------------- 3 files changed, 26 insertions(+), 24 deletions(-) delete mode 100644 build/.gitkeep diff --git a/.gitignore b/.gitignore index 3035daa0..6140d3ec 100644 --- a/.gitignore +++ b/.gitignore @@ -11,10 +11,8 @@ config.log compile_commands.json engine/.github project/.godot -build/PROJECT.pck -build/PROJECT.x86_64 -build/PROJECT.exe -build.zip +build/ +__pycache__ # general-purpose cache folder (used by e.g clangd) .cache diff --git a/build/.gitkeep b/build/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/justfile b/justfile index a4de92f4..81928440 100644 --- a/justfile +++ b/justfile @@ -10,30 +10,34 @@ run: build # Running Editor engine/bin/godot.linuxbsd.editor.dev.x86_64.llvm --editor --path project -release-linux: build - # Compiling Linux Release - cd engine/ && scons platform=linuxbsd target=template_release arch=x86_64 linker=mold use_llvm=yes compiledb=yes custom_modules="../modules" - # Preparing Build Environment - sed -i "s!templatepath!{{`realpath engine/bin/godot.linuxbsd.template_release.x86_64.llvm`}}!" project/export_presets.cfg - rm -rf build && mkdir build - engine/bin/godot.*.editor.dev.*.llvm --headless --export-release "Linux" project/project.godot && zip build.zip build/* - # Resetting Build Environment - touch build/.gitkeep - sed -i "s!{{`realpath engine/bin/godot.linuxbsd.template_release.x86_64.llvm`}}!templatepath!" project/export_presets.cfg +package-project: + mkdir -p build/ + engine/bin/godot.linuxbsd.editor.dev.x86_64.llvm --editor --path project --headless --export-pack "Linux" ../build/{{BUILD_NAME}}.pck + +compile-release platform: build + # Compiling {{platform}} Release + cd engine/ && scons platform={{platform}} target=template_release arch=x86_64 linker=mold use_llvm=yes compiledb=yes custom_modules="../modules" + +package-release-linuxbsd: (compile-release "linuxbsd") package-project + # Prepare build output + mkdir -p build/linuxbsd + # Copy required files + cp engine/bin/godot.linuxbsd.template_release.x86_64.llvm build/linuxbsd/{{BUILD_NAME}}.x86_64 + cp build/{{BUILD_NAME}}.pck build/linuxbsd/ + cd build/ && zip -r {{BUILD_NAME}}-linuxbsd-x86_64.zip linuxbsd # Completed Linux Release Build -release-windows: build - # Compiling Windows Release - cd engine/ && scons platform=windows target=template_release arch=x86_64 linker=mold use_llvm=yes compiledb=yes custom_modules="../modules" - # Preparing Build Environment - sed -i "s!templatepath!{{`realpath engine/bin/godot.windows.template_release.x86_64.llvm`}}!" project/export_presets.cfg - rm -rf build && mkdir build - engine/bin/godot.*.editor.dev.*.llvm --headless --export-release "Windows" project/project.godot && zip build.zip build/* - # Resetting Build Environment - touch build/.gitkeep - sed -i "s!{{`realpath engine/bin/godot.windows.template_release.x86_64.llvm`}}!templatepath!" project/export_presets.cfg +package-release-windows: (compile-release "windows") package-project + # Prepare build output + mkdir -p build/windows + # Copy required files + cp engine/bin/godot.windows.template_release.x86_64.exe build/windows/{{BUILD_NAME}}.exe + cp build/{{BUILD_NAME}}.pck build/windows/ + cd build/ && zip -r {{BUILD_NAME}}-windows-x86_64.zip windows # Completed Windows Release Build +package-release-all: package-release-windows package-release-linuxbsd + initialize-template projectname: # Initializing Template {{projectname}} sed -i -e "s/PROJECT/{{projectname}}/g" ./modules/PROJECT/register_types.h ./modules/PROJECT/register_types.cpp ./project/project.godot ./project/export_presets.cfg .gitignore