David Snopek
fe68c22c3e
Generate GDExtension interface header and loader from JSON
2025-12-18 12:09:41 -06:00
David Snopek
d033e8abea
On Linux default use_static_cpp to disabled
2025-11-01 08:31:46 -05:00
David Snopek
6c05f1f0b1
Merge pull request #1789 from aaronfranke/header-builders
...
Add header builders script for `env.GLSL_HEADER` and SVG icons
2025-10-20 10:53:18 -05:00
Thaddeus Crews
76d1ce6848
Remove CPPEXTPATH changes, add error macros
2025-10-06 13:49:49 -05:00
Aaron Franke
51008e1556
Add header builders script for env.GLSL_HEADER and SVG icons
2025-08-25 11:16:37 -07:00
David Snopek
3830fe4a40
Merge pull request #1829 from BenLubar/web-debug-symbols
...
Fix debug symbols logic on `platform=web` to match Godot core.
2025-08-11 07:23:53 -05:00
Ben Lubar
9ea9b4797c
Fix debug symbols logic on platform=web to match Godot core.
2025-08-09 17:36:34 -05:00
Pāvels Nadtočajevs
8646cd31b5
Sync Android SDK and NDK versions with the engine.
2025-08-06 22:48:13 +03:00
David Snopek
8e7dfbc71a
Fix custom_api_file with SCons 4.0.1
2025-07-17 09:03:11 -05:00
David Snopek
6a870949a5
Merge pull request #1669 from Ivorforce/scons-variant_dir-support
...
Add SCons variant_dir support
2025-07-03 12:17:32 -05:00
David Snopek
646ccdf470
Files generated by SCons should depend on the build_profile (if given)
2025-06-18 14:43:12 -05:00
David Snopek
fef59ff89a
Merge pull request #1779 from Ivorforce/ndk-version
...
Make ndk version configurable as a command-like argument.
2025-06-07 14:26:45 -05:00
Fabio Alessandrelli
4879eb7bd0
fix: Add iOS min SDK version link flags
...
This is required when publishing to the App Store, and consistent with
what we already do for the macOS deployment target.
2025-05-21 16:34:27 +02:00
Lukas Tenbrink
16e47d7ae5
Make ndk version configurable as a command-like argument.
2025-05-02 17:12:32 +02:00
David Snopek
2a8d218f12
Merge pull request #1756 from Repiteo/scons/external-includes
...
SCons: Add `CPPEXTPATH` for external includes
2025-04-16 16:10:45 -05:00
Tom
d634a5f8c4
Synced defs.hpp with godot's typedefs.h
2025-04-07 17:30:55 +01:00
Thaddeus Crews
30bfa6f215
SCons: Add CPPEXTPATH for external includes
2025-04-04 09:39:47 -05:00
David Snopek
c2d688bae6
Merge pull request #1747 from unvermuthet/linux-use-static-cpp
...
Implement `use_static_cpp` flag for Linux
2025-04-02 12:59:04 -05:00
unvermuthet
b0f41909e0
Implement use_static_cpp flag for Linux
2025-04-01 22:35:40 +02:00
Pāvels Nadtočajevs
d239da3221
[macOS] Remove unnecessary Cocoa reference.
2025-03-28 08:45:43 +02:00
David Snopek
0a73df5f53
Check that precision of extension_api.json matches build options
2025-02-27 13:27:11 -06:00
Samuel Nicholas
8814ac51ac
CMake: Support for XML documentation
...
Add new function generate_doc_source to python_callouts.cmake
Update Test extension to use generate_doc_source function and include generated file in the build.
Cleanup:
Fix godotcpp.py imports after rebase
Pre-Commit hook sorted python imports in doc_source_generator.py
- replace ${CMAKE_CURRENT_SOURCE_DIR} with ${godot-cpp_SOURCE_DIR} when referencing current working directory and script locations when invoking python scripts.
Co-authored-by: David Snopek <dsnopek@gmail.com >
2025-01-13 08:28:42 +10:30
Cedric Shock
1345c46650
Add SCons variant_dir support, which allows specifying a target build directory.
2025-01-12 18:32:59 +01:00
Fabio Alessandrelli
c4f1abe3f9
[Bindings] Build profile now strips methods and skip files
...
This allows removing dependencies that are not explicitly unused by the
gdextension being built and is implemented using an intermediate json
API file with the methods and classes stripped (i.e. without touching
the file generators).
2025-01-07 20:33:12 +01:00
Samuel Nicholas
b7dbd26d8f
Align MSVC runtime (MD[d], MT) options to engine #1647
...
Engine has an option to link to MDd debug_crt
add flag to SCons options
Add flag to CMAKE options
2024-11-28 13:46:41 +10:30
David Snopek
c20a84e483
Merge pull request #1601 from Ivorforce/lto
...
Add lto scons option
2024-11-12 11:16:10 -06:00
Lukas Tenbrink
5f7cf05043
Add lto scons option, defaulting to "none".
2024-11-12 12:45:35 +01:00
David Snopek
291147e21b
Merge pull request #1611 from Repiteo/library-no-cache
...
SCons: Don't cache libraries
2024-10-15 14:42:20 +02:00
David Snopek
6facde3c29
Merge pull request #1602 from Faless/build/use_clang_cl_is_use_llvm
...
[SCons] Remove use_clang_cl windows flag in favor of generic use_llvm
2024-10-03 08:35:35 -05:00
Thaddeus Crews
83c0f15ab9
SCons: Don't cache librarys
2024-09-30 11:26:06 -05:00
Fabio Alessandrelli
78498da7c3
[SCons] Enable WASM_BIGINT in web builds
...
Required since Godot 4.3, which is also the first Godot version with
wide WASM gdnative support (previous versions were Chrome-only, and very
brittle).
2024-09-23 13:29:49 +02:00
Fabio Alessandrelli
4717a78144
[SCons] Remove use_clang_cl windows flag in favor of generic use_llvm
...
This is consistent with Godot upstream.
2024-09-22 13:39:06 +02:00
David Snopek
4d8c05f405
Merge pull request #1535 from bruvzg/llvm-mingw-arm64
...
Add support for LLVM/MinGW and ARM64 Windows builds.
2024-09-10 15:48:22 -05:00
Fabio Alessandrelli
f36acd8e31
[Web/SCons] Use CCFLAGS for SIDE_MODULE option
...
Was using CPPFLAGS, but should use the explicit scons CCFLAGS which
makes it clear they are applied to both the C and C++ compiler.
CPPFLAGS was also fine (they are preprocessor flags, also applied to
both C and C++), but we should try to stay consistent with what we do
in Godot.
2024-08-24 12:02:36 +02:00
bruvzg
f2353da5a3
Add support for LLVM/MinGW and ARM64 Windows builds.
2024-08-12 08:53:40 +03:00
Rémi Verschelde
958776dfc3
SCons: Remove old Python 2 compat code
2024-07-18 10:37:47 +02:00
David Snopek
53b546e1df
Merge pull request #1507 from Repiteo/silence-msvc
...
SCons: Add `silence_msvc` option for Windows
2024-06-25 17:45:33 -05:00
Thaddeus Crews
1989b1bf57
SCons: Add silence_msvc option
2024-06-25 09:38:00 -05:00
Thaddeus Crews
e0d363aad8
Integrate .pre-commit-config.yaml
2024-06-24 15:43:55 -05:00
David Snopek
89831ff333
Merge pull request #1489 from Faless/web/longjmp
...
[Web] Force emcc to use "wasm" longjmp mode
2024-06-17 11:53:05 -05:00
Fabio Alessandrelli
1186c488bd
Add support for build profiles.
...
Allow enabling or disabling specific classes (which will not be built).
2024-06-15 16:19:41 +02:00
Fabio Alessandrelli
1bb543b6f4
[Web] Force emcc to use "wasm" longjmp mode
...
SUPPORT_LONGJMP have changed since emscripten 3.1.32 to default to
"wasm" mode when exceptions are enabled, and "emscripten" mode when
disabled.
While we generally doesn't use exception in core, linked libraries may
need them, and emscripten don't plan to support WASM EH + Emscripten
SjLj in the long term.
2024-06-14 01:46:04 +02:00
David Snopek
340dde31a2
Merge pull request #1451 from Faless/build/to_threads_or_not_to_threads
...
[SCons] Add option to build without threads
2024-05-16 10:39:57 -05:00
David Snopek
a434850069
Allow submitting documentation to the Godot editor
2024-05-07 11:08:18 -05:00
Fabio Alessandrelli
b0296bb562
[SCons] Add option to build without threads
...
This is relevant for the Web platform, where builds with and without
threads are incompatible.
2024-04-30 19:19:36 +02:00
Thaddeus Crews
b05c21bb1d
Implement verbose toggle from godot repo
2024-04-09 21:13:02 -05:00
Fabio Alessandrelli
16df4bff30
[SCons] Split targets.py, apply flags from tools
...
Split `targets` tool logic, moving all the compiler-specific flags to a
new `common_compiler_flags.py` file, and everything else (CPPDEFINES,
optimize option logic, dev build logic, etc) to the `godotcpp` tool.
The default tools now apply the common compiler flags by importing the
file and explicitly calling `configure`.
2024-02-16 23:08:06 +01:00
Fabio Alessandrelli
baaad7ada2
[SCons] Add support for custom build tools and platforms
...
Use with:
`scons platform=os2 custom_tools=/path/to/tools`
(assuming you have an `os2.py` inside `/path/to/tools/`)
2024-02-14 21:20:38 +01:00
David Snopek
b1769a70f0
Merge pull request #1344 from ArchLinus/ndk-error
...
Add an error message if android NDK is not installed
2024-01-04 08:35:18 -06:00
ArchLinus
718d0baea3
Add an error message if android NDK is not installed
2023-12-30 13:56:46 -05:00