Commit Graph

125 Commits

Author SHA1 Message Date
Riteo 55558fb175 SCons: Add an option to enable the experimental ninja build backend
With this option turned on, if properly set up, SCons generates a
`build.ninja` file and quits. To actually build the engine, the user can
then call `ninja` with whatever options they might prefer (not
everything is yet transferred properly to this new generated file).

Ideally, the scons file should never be called again, as ninja
automatically detects any SCons build script change and invokes
the required commands to regenerate itself.

This approach speeds up incremental builds considerably, as it limits
SCons to code generation and uses ninja's extremely fast timestamp-based
file change detector.
2024-03-15 16:05:25 +01:00
Edward Moulsdale e461496ecb Add unit tests for CryptoKey 2024-03-01 07:17:59 +00:00
Rémi Verschelde 217597371e
Merge pull request #87878 from adamscott/emacs-gitignore
Add basic Emacs `.gitignore` entries
2024-02-03 23:21:01 +01:00
Adam Scott 2696fee3c6
Add basic Emacs .gitignore entries 2024-02-03 13:16:42 -05:00
Andreia Gaita 7638a6c981 Add new VS proj generation logic that supports any platform that wants to opt in
Custom Visual Studio project generation logic that supports any platform that has a msvs.py
script, so Visual Studio can be used to run scons for any platform, with the right defines per target.

Invoked with `scons vsproj=yes`

To generate build configuration files for all platforms+targets+arch combinations, users should call

```
scons vsproj=yes platform=XXX target=YYY [other build flags]
```

for each combination of platform+target[+arch]. This will generate the relevant vs project files but
skip the build process, so that project files can be quickly generated without waiting for a command line
build. This lets project files be quickly generated even if there are build errors.

All possible combinations of platform+target are created in the solution file by default, but they
won't do anything until each one is set up with a scons vsproj=yes command for the respective platform
in the appropriate command line. This lets users only generate the combinations they need, and VS
won't have to parse settings for other combos.

Only platforms that opt in to vs proj generation by having a msvs.py file in the platform folder are included.
Platforms with a msvs.py file will be added to the solution, but only the current active platform+target+arch
will have a build configuration generated, because we only know what the right defines/includes/flags/etc are
on the active build target currently being processed by scons.

Platforms that don't support an editor target will have a dummy editor target that won't do anything on build,
but will have the files and configuration for the windows editor target.

To generate AND build from the command line, run

```
scons vsproj=yes vsproj_gen_only=no
```
2024-01-31 16:42:42 +01:00
Thaddeus Crews 8cd984b3cb
SCons: Update mypy 2023-12-11 15:59:06 -06:00
Rémi Verschelde 5c38e42161
Remove too greedy GCOV ignores from `.gitignore`
This would cause `updown.png` to be ignored in our default theme in 3.x.

These ignores were added in #36800 for #36572 (see that PR for usage
instructions).

From a quick test, using `--output-file` for `lcov` and `--output-directory`
for genhtml let us output the files in a way that won't conflict with the
Git repository (e.g. in `bin/`, or outside the Git repo).
2023-08-29 13:38:38 +02:00
Alex Drozd a6fda19e85 add venv and .venv to the .gitignore 2023-05-05 18:32:20 +02:00
Ben Rog-Wilhelm 37d68929e8
Fix .gitignore ignores part of the committed repo. 2023-02-17 13:48:16 +01:00
myaaaaaaaaa b5c4bc8f31 Change .gitignore's bin/ to bin 2023-02-07 01:21:56 -05:00
ipsoftdev b37f10adf7 Do not ignore x86 source code directories anywhere under thirdparty directory 2022-12-20 22:01:50 -08:00
Rémi Verschelde f1edd03d4c
Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextension
Rename all gdnative occurences to gdextension
2022-12-12 11:43:59 +01:00
Gilles Roudière be1c9d677d Rename all gdnative occurences to gdextension
Non-exhaustive list of case-sensitive renames:

GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension ->Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:04:57 +01:00
Hugo Locurcio ffb9f2b53f
Fix libtheora source code being mistakenly `.gitignore`d 2022-12-07 17:49:07 +01:00
ocean (they/them) 8ae66c143b Add VS's enc_temp_folder to .gitignore 2022-11-18 13:42:32 -05:00
Rémi Verschelde 6946bc56ef
Merge pull request #67309 from groud/implement_gdnative_interface_h_dump
Implement a way to dump the gdnative_interface.h file from the executable
2022-10-31 11:54:38 +01:00
Ignacio Roldán Etcheverry 166d86ca84
Add JetBrains Fleet folder to gitignore 2022-10-13 18:58:27 +02:00
Gilles Roudière 55010a2d9f Implement a way to dump the gdnative_interface.h file from the executable 2022-10-13 10:03:30 +02:00
Hugo Locurcio 1be1b15a57
Replace local web server setup for web editor with a Python-based solution
This makes it easier to set up, as you always have Python installed
when building Godot. On the other hand, you don't always have Node.js
+ npm installed (and you may not want to spend time running `npm install`).

Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2022-10-04 19:39:27 +02:00
Pedro J. Estébanez 8e2d0e1bb1 Add ability to extend the set of Git pre-commit hooks 2022-08-30 13:34:10 +02:00
Rémi Verschelde 6aa7449d60 HTML5: Run `npm audit fix`
And re-add `node_modules` to `.gitignore` which I mistakenly removed
with an earlier cleanup.
2022-05-25 14:56:43 +02:00
Rémi Verschelde b0df742cbe Re-add some needed patterns to .gitignore 2022-03-31 15:37:54 +02:00
Rémi Verschelde 1f1edaa1b5 Cleanup and reorder .gitignore
Group things better in categories, and remove a ton of VS junk.
Some of it might still be needed and could need to be re-added.
2022-03-17 12:07:34 +01:00
Rémi Verschelde f4c3192d0a
Main: Fixup --dump-extension-api after #54017
That removal was correct, but triggered a bug in our messy-as-heck main.cpp
detection logic for editor/project manager/project/command line tool...
Fixing this is for another day.
2021-10-21 09:43:39 +02:00
O01eg 2cd052f889
Add tests for Translations 2021-09-29 10:39:20 +03:00
Aaron Franke ae1702bee5
Replace HTTP links with HTTPS for sites with HTTPS versions 2021-08-22 20:13:11 -05:00
Danil Alexeev e09e0fbd1f gitignore: Ignore Kate swap files 2021-01-27 01:07:57 +03:00
Michael Alexsander ff1d636385 Ignore clangd 11+ cache folder 2021-01-20 10:14:02 -03:00
Fredia Huya-Kouadio edf762fba6 Add a separate `nativeSrcsConfigs` module to handle Android Studio constraints for native code editor support. 2020-10-29 00:01:14 -07:00
Rémi Verschelde 148ad49c93
vulkan: Sync loader, headers and glslang to sdk-1.2.154.0
Actually sdk-1.2.154.1 for Vulkan-Loader.

glslang is updated to bacaef3237c515e40d1a24722be48c0a0b30f75f which is the
known-good version for Vulkan-ValidationLayers 1.2.154.0.

COPYRIGHT.txt was synced with the current version of the glslang LICENSE.txt,
and `glslang/register_types.cpp` now uses the upstream definition for its
default builtin resource instead of hardcoding it.
2020-10-15 12:29:42 +02:00
Martin Capitanio 0b34607bb8 git: Ignore clangd cache folder 2020-09-10 12:50:01 +02:00
RevoluPowered 579342810f t Add unit testing to Godot using DocTest and added to GitHub Actions CI
Implements exit codes into the engine so tests can return their statuses.
Ideally we don't do this, and we use FIXUP logic to 'begin' and 'end' the engine execution for tests specifically.

Since realistically we're initialising the engine here we don't want to do that, since String should not require an engine startup to test a single header.

This lowers the complexity of running the unit tests and even for
physics should be possible to implement such a fix.
2020-07-24 13:05:33 +01:00
Rémi Verschelde 5e8b188365 gitignore: Ignore binutils linker temp stXXXXXX objects
Fixes #40607.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2020-07-23 10:25:43 +02:00
Marcel Admiraal 990ecf8fc4 Add Code::Blocks files to .gitignore. 2020-06-15 18:05:33 +01:00
Andrii Doroshenko (Xrayez) 42bee75e86 SCons: Dump construction environment to a file
A new `methods.dump(env)` is added to dump the construction environment
used by SCons to build Godot to a `.scons_env.json`. The file can be used
for debugging purposes and any external tool.
2020-06-10 15:05:43 +03:00
Andrii Doroshenko (Xrayez) a712e14038 Add `custom.py` to .gitignore
The default `custom.py` can be created at the root of the Godot
repository to initialize any SCons build options via file which are
specific to user.
2020-05-18 10:28:43 +03:00
PouleyKetchoupp af424b1c7c Vulkan rendering for Android 2020-04-03 11:18:59 +02:00
Rémi Verschelde 0926c192e8 Style: Add black format to fix_style.sh
Also ignore new Android build artifact.
2020-03-31 09:55:13 +02:00
Rémi Verschelde 6d269dbf56
Merge pull request #36800 from qarmin/added_some_gitignore_records
Added to .gitignore - Cppcheck folder and Gcov, Lcov code coverage
2020-03-05 09:15:05 +01:00
fhuya b38283a6b7 Miscellaneous cleanup for the Android codebase:
- update gradle plugins versions
- add formatting rules for AndroidManifest and gradle build files
- cleanup java_godot_lib_jni

Note: logic was mostly moved around and no new logic/functionality was added.
2020-03-04 12:16:17 -08:00
Rafał Mikrut 5b4d74edd4 Added to .gitignore - Cppcheck and code coverage 2020-03-04 20:24:38 +01:00
Fabian Mathews 7f62bed238 Added support to allow to compile Godot from the same directory while using different versions of python
(cherry picked from commit beee8b3776)
2020-01-01 11:52:11 +01:00
Hugo Locurcio 5efd43609b
Travis CI: Test project exporting/script running in the headless editor 2019-08-20 17:35:55 +02:00
qarmin 9a77d748c0 Fixes minor issues found by static analyzer 2019-07-07 23:08:51 +02:00
fhuya 669db2a50a Add Android Studio support. 2019-05-29 16:57:52 -07:00
Max Hilbrunner b0279192cb
.gitignore improvements for Windows/macOS 2019-05-28 22:21:29 +02:00
Linux User 3189560d52 Update .gitignore
Update .gitignore
2019-04-25 19:35:41 +02:00
Juan Linietsky dd03dcbd5a Android now (optionally) builds the template when exporting
Added new way to create add-ons
Removed old way to create add-ons
2019-04-07 15:46:52 -03:00
Martin Wallin 8be9fd83ad Ignore default ccls cache folder and compile commands jso 2019-03-14 18:35:23 +01:00
Rémi Verschelde c025f526c8
Merge pull request #23436 from Toshiwoz/primitives_properties
fixed PrismMesh size property
2018-11-02 08:08:17 +01:00