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")))) diff --git a/.gitignore b/.gitignore index 49817eab..3035daa0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,9 @@ config.log .sconf_temp +# build artifacts +*.o +compile_commands.json engine/.github project/.godot build/PROJECT.pck @@ -13,10 +16,5 @@ build/PROJECT.x86_64 build/PROJECT.exe build.zip -*.o -compile_commands.json -.tree.hash +# general-purpose cache folder (used by e.g clangd) .cache -.kdev4 -*.kdev4 -*__pycache__ diff --git a/justfile b/justfile index c4d5a10d..a4de92f4 100644 --- a/justfile +++ b/justfile @@ -1,12 +1,10 @@ set export BUILD_NAME := "change_me" -tree_hash := `tree ./modules | md5sum` -compiledb := if tree_hash == `cat .tree.hash` { "no" } else { "yes" } build: format # Compiling Editor - cd engine/ && scons target=editor symbols=yes optimization=debug dev_build=yes linker=mold use_llvm=yes compiledb={{compiledb}} custom_modules="../modules" + cd engine/ && scons target=editor symbols=yes optimization=debug dev_build=yes linker=mold use_llvm=yes compiledb=yes custom_modules="../modules" run: build # Running Editor @@ -14,7 +12,7 @@ run: build release-linux: build # Compiling Linux Release - cd engine/ && scons platform=linuxbsd target=template_release arch=x86_64 linker=mold use_llvm=yes custom_modules="../modules" + 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 @@ -26,14 +24,14 @@ release-linux: build release-windows: build # Compiling Windows Release - cd engine/ && scons platform=windows target=template_release arch=x86_64 linker=mold custom_modules="../modules" + 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`}}!" project/export_presets.cfg + 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`}}!templatepath!" project/export_presets.cfg + sed -i "s!{{`realpath engine/bin/godot.windows.template_release.x86_64.llvm`}}!templatepath!" project/export_presets.cfg # Completed Windows Release Build initialize-template projectname: @@ -41,7 +39,6 @@ initialize-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 -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