293 Commits

Author SHA1 Message Date
Ricardo Sanchez-Saez
47971c0a27
Introduce 'visionos' platform derived from 'apple_embedded' 2025-05-19 15:47:01 -07:00
Ricardo Sanchez-Saez
457299449d
Introduce 'drivers/apple_embedded' abstract platform for code reuse 2025-05-19 15:37:13 -07:00
lawnjelly
39b16bcc3c SCU - hide SCU folders by adding "." to foldername 2025-05-11 07:02:36 +01:00
Andreia Gaita
6e7f77adc4 Fix issue where vsproj=yes vsproj_gen_only=no sometimes fails to build
Assigning `env["CCFLAGS"]` directly to a variable causes any changes to that
variable to also be done to the original env object. This means CCFLAGS would
be modified during generation of the VS project with additional flags and
other options set by platforms.

This would normally not be noticed when just generating the project, but when
generating and building at the same time with a compiler that doesn't support
VS-style flags, this flag leakage can cause unexpected build failures.
2025-04-10 15:06:38 +02:00
Thaddeus Crews
4362b11557
Merge pull request #103405 from van800/shakhov/macosx
Fix `.sln` project generation logic for Rider to support all OS and all C++ toolchains
2025-04-09 08:51:45 -05:00
Ivan Shakhov
6ff86e49cf Fix .sln project generation logic for Rider to support all OS and all C++ toolchains
Co-authored-by: Andreia Gaita <shana@spoiledcat.net>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-04-08 15:40:05 +02:00
Thaddeus Crews
01f0bd36a4
SCons: Integrate WARNLEVEL & OPTIMIZELEVEL 2025-04-03 18:10:29 -05:00
Thaddeus Crews
32de6285a8
SCons: Modernize shader builders 2025-03-29 11:51:54 -05:00
Thaddeus Crews
2b1f463de5
SCons: Refactor color.py 2025-03-25 12:27:35 -05:00
Thaddeus Crews
10ed66f28c
SCons: Add emitter to declutter build objects 2025-03-15 12:08:24 -05:00
Thaddeus Crews
de33bd2b7c
CI: Trim cache before saving 2025-03-14 14:05:02 -05:00
Thaddeus Crews
be429eb404
SCons: Make builders prettier, utilize constexpr 2025-03-11 18:31:20 -05:00
Thaddeus Crews
77e9f55c51
Merge pull request #102676 from adamscott/add-web-library-emitter
[Web] Add library emitter to make sources dependent of compiler version
2025-03-11 16:53:53 -05:00
Thaddeus Crews
4505352021
SCons: Simplify Windows/MSVC detection 2025-03-09 10:45:32 -05:00
Thaddeus Crews
96fdaa616b
Style: Integrate #pragma once in builders/checks 2025-03-07 17:32:33 -06:00
Thaddeus Crews
2949ab0707
SCons: Implement minor fixes 2025-03-01 08:53:53 -06:00
Adam Scott
02cc1ec95b
[Web] Add library emitter to make sources dependent of compiler version 2025-02-10 16:18:35 -05:00
Thaddeus Crews
382c760ea6
SCons: Apply new ruff/mypy fixes 2025-02-03 09:55:09 -06:00
A Thousand Ships
b12ca37be6
[Buildsystem] Break after purging cache 2025-01-17 12:29:24 +01:00
Thaddeus Crews
73278bf35d
SCons: Properly NoCache all text files 2025-01-16 16:59:12 -06:00
Thaddeus Crews
a29294fddc
SCons: Refactor color output implementation 2025-01-07 18:44:53 -06:00
Thaddeus Crews
b536b3e12d
SCons: Don't update node count when empty 2024-12-21 11:13:27 -06:00
Thaddeus Crews
df6ac3973e
SCons: Fix minor show_progress issues 2024-12-17 09:27:32 -06:00
Rémi Verschelde
182b4741ea
Merge pull request #93479 from Repiteo/scons/better-colored-output
SCons: Improve colored output
2024-12-17 16:18:41 +01:00
Pablo Andres Fuente
7c4c1100e0 Improving detection of ccache on Mac
Before this commit, ccache where only used on Mac when
`OSXCROSS_ROOT` was defined. Now, it could be used even
when that envirnment variable is not defined.
2024-12-13 09:50:27 -03:00
Thaddeus Crews
d8761f2c79
SCons: Improve colored output 2024-12-10 11:44:48 -06:00
Thaddeus Crews
070aeb5688
SCons: Fix MSVC bypassing disabled warnings 2024-12-09 11:49:42 -06:00
A Thousand Ships
1c522c9f0c
[Buildsystem] Fix path format for SCU builds on Windows 2024-11-24 15:33:47 +01:00
Thaddeus Crews
b25c7e31ea
Merge pull request #99501 from AThousandShips/fix_cache_time
[Buildsystem] Prevent cache check mangling access time
2024-11-21 17:56:52 -06:00
Thaddeus Crews
579c19a9ce
Merge pull request #99274 from shana/vsproj-calculate-dependencies
Use scons to calculate all the sources needed for vsproj generation.
2024-11-21 17:56:50 -06:00
A Thousand Ships
31c8aadc47
[Buildsystem] Prevent cache check mangling access time
Checking for text files using `open` changes `atime`, which breaks cache
access sorting, this ensures the cache access time is preserved.
2024-11-21 19:30:27 +01:00
Andreia Gaita
84db024f6f Use scons to calculate all the sources needed for vsproj generation.
Scons knows every file - sources, headers, etc - that the binary depends on,
and trying to figure that out manually is just too prone to error.
2024-11-21 11:11:35 +01:00
Rémi Verschelde
c9acbf5a79
SCons: Fix up build after cache logic changes 2024-11-15 18:18:12 +01:00
Thaddeus Crews
6c9337de36
Merge pull request #99217 from dustdfg/refactor_compiler_min_detection
Buildsystem: Refactor compiler detection code
2024-11-15 10:42:42 -06:00
Thaddeus Crews
0e4a4e3c4d
SCons: Improve cache purging logic
• Implement caching via SCons arguments, rather than environment variables
2024-11-15 08:29:58 -06:00
Yevhen Babiichuk (DustDFG)
d55ed0cb15 Buildsystem: Refactor compiler detection code
* Delete old check for gcc 8 as we support 9 or higher
* Flatten branches for clang and apple clang
* Renamed is_vanilla_clang to is_apple_clang to be more clear

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-15 12:59:46 +02:00
Thaddeus Crews
49023c0f7d
Merge pull request #99138 from dustdfg/remove_old_vs_proj_code
Delete old unused code for VS project generation
2024-11-13 08:34:13 -06:00
Yevhen Babiichuk (DustDFG)
216488ad9b Delete old unused code for VS project generation
Also ensured that sorting of files for hashing actually happens

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-12 21:26:12 +02:00
Thaddeus Crews
66fe2c8b44
SCons: Bump minimum SCons & Python versions
SCons: 3.1.2 → 4.0
Python: 3.6 → 3.8
2024-11-12 11:30:24 -06:00
Yevhen Babiichuk (DustDFG)
0c4575b4e5 Delete old function for parsing CG shaders
This lonely dinosaur was overlooked by a meteor. Its family was
killed but it managed to survive until today. People noticed him
but they didn't understood he should be dead... So our dino even
got medicine on a level of all other animals of our zoo. Good bye!

All the CG and HLSL functions (except this) were removed years ago
when GLSL2 shaders support was added:

Look at: eac4c984dfe5eebb73b094aaf2ed5ab37b6e8fdf

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-08 21:47:03 +02:00
Yevhen Babiichuk (DustDFG)
32e2b45430 Replace _find_scu_section_name function with SCons builtins
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-06 11:29:08 +02:00
Hugo Locurcio
180f079fa7
Remove pre-Visual Studio 2017 detection code in the buildsystem
Visual Studio 2017 or later has been required to build Godot for a while now.
2024-11-05 13:54:15 +01:00
Yevhen Babiichuk (DustDFG)
81a032337c Deleted stale check. Now SCons supports globbing with # inside path
Some parts of the buildsystem already were using it with `#` in path

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-02 22:20:17 +02:00
Yevhen Babiichuk (DustDFG)
8e75e029b3 Make module dependency check recursive
The `env.disabled_modules` and `methods.disable_module` weren't used anywhere
so the first one was repurposed and the second just deleted

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-23 08:26:22 +03:00
九軒
607585e22b
SCons: Fix MSVC version check for VS Preview 2024-10-02 14:08:53 +02:00
Thaddeus Crews
1d3c4e192c
SCons: Include pre-release in MSVC detection 2024-09-29 11:00:17 -05:00
Thaddeus Crews
9a8fcd5263
SCons: Fix MSVC decode error 2024-09-29 09:02:13 -05:00
Thaddeus Crews
1043c00137
SCons: Detect msvc compiler version
• C standard now passed on msvc if the version is supported
2024-09-27 11:16:33 -05:00
Rémi Verschelde
804d9775b5
Merge pull request #96407 from alvinhochun/mingw-ar-long-command-tempfile
Remove `ARFLAGS` hack for Windows, replace with `TEMPFILE`
2024-09-18 17:40:53 +02:00
A Thousand Ships
acffc53e01
[Buildsystem] Improve cache handling
Prevents cache issues by not purging cache before starting a build.
Splits cache purge related code from progress code and delays the purge
until after final build is done.
2024-09-09 16:36:56 +02:00