91 Commits

Author SHA1 Message Date
0a7e09c630 Update gdextension_interface.json and extension_api.json for Godot 4.7-beta1 2026-04-27 15:48:27 -05:00
ce18d99cb0 Add back support for Godot 4.3 2026-01-15 06:45:44 -06:00
c90f436694 Add back support for Godot 4.4 2026-01-06 10:06:13 -06:00
2f1695afe2 Add api_version build option to select the API JSON file 2026-01-06 07:47:07 -06:00
fe68c22c3e Generate GDExtension interface header and loader from JSON 2025-12-18 12:09:41 -06:00
d033e8abea On Linux default use_static_cpp to disabled 2025-11-01 08:31:46 -05:00
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
76d1ce6848 Remove CPPEXTPATH changes, add error macros 2025-10-06 13:49:49 -05:00
51008e1556 Add header builders script for env.GLSL_HEADER and SVG icons 2025-08-25 11:16:37 -07:00
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
9ea9b4797c Fix debug symbols logic on platform=web to match Godot core. 2025-08-09 17:36:34 -05:00
8646cd31b5 Sync Android SDK and NDK versions with the engine. 2025-08-06 22:48:13 +03:00
8e7dfbc71a Fix custom_api_file with SCons 4.0.1 2025-07-17 09:03:11 -05:00
6a870949a5 Merge pull request #1669 from Ivorforce/scons-variant_dir-support
Add SCons variant_dir support
2025-07-03 12:17:32 -05:00
646ccdf470 Files generated by SCons should depend on the build_profile (if given) 2025-06-18 14:43:12 -05:00
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
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
16e47d7ae5 Make ndk version configurable as a command-like argument. 2025-05-02 17:12:32 +02:00
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
30bfa6f215 SCons: Add CPPEXTPATH for external includes 2025-04-04 09:39:47 -05:00
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
b0f41909e0 Implement use_static_cpp flag for Linux 2025-04-01 22:35:40 +02:00
d239da3221 [macOS] Remove unnecessary Cocoa reference. 2025-03-28 08:45:43 +02:00
0a73df5f53 Check that precision of extension_api.json matches build options 2025-02-27 13:27:11 -06:00
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
1345c46650 Add SCons variant_dir support, which allows specifying a target build directory. 2025-01-12 18:32:59 +01:00
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
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
c20a84e483 Merge pull request #1601 from Ivorforce/lto
Add lto scons option
2024-11-12 11:16:10 -06:00
5f7cf05043 Add lto scons option, defaulting to "none". 2024-11-12 12:45:35 +01:00
291147e21b Merge pull request #1611 from Repiteo/library-no-cache
SCons: Don't cache libraries
2024-10-15 14:42:20 +02:00
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
83c0f15ab9 SCons: Don't cache librarys 2024-09-30 11:26:06 -05:00
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
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
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
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
f2353da5a3 Add support for LLVM/MinGW and ARM64 Windows builds. 2024-08-12 08:53:40 +03:00
958776dfc3 SCons: Remove old Python 2 compat code 2024-07-18 10:37:47 +02:00
53b546e1df Merge pull request #1507 from Repiteo/silence-msvc
SCons: Add `silence_msvc` option for Windows
2024-06-25 17:45:33 -05:00
1989b1bf57 SCons: Add silence_msvc option 2024-06-25 09:38:00 -05:00
e0d363aad8 Integrate .pre-commit-config.yaml 2024-06-24 15:43:55 -05:00
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
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
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
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
a434850069 Allow submitting documentation to the Godot editor 2024-05-07 11:08:18 -05:00
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
b05c21bb1d Implement verbose toggle from godot repo 2024-04-09 21:13:02 -05:00