David Snopek
a64f264337
On Linux default use_static_cpp to disabled
...
(cherry picked from commit d033e8abea )
2025-11-30 06:30:40 -06:00
Aaron Franke
33ecd5bf8a
Add header builders script for env.GLSL_HEADER and SVG icons
...
(cherry picked from commit 51008e1556 )
2025-10-20 13:30:20 -05:00
Ben Lubar
0eeb43c4be
Fix debug symbols logic on platform=web to match Godot core.
...
(cherry picked from commit 9ea9b4797c )
2025-08-21 08:49:09 -05:00
David Snopek
d7bdc62a91
Fix custom_api_file with SCons 4.0.1
...
(cherry picked from commit 8e7dfbc71a )
2025-08-21 08:48:33 -05:00
Cedric Shock
9b6a44cb04
Add SCons variant_dir support, which allows specifying a target build directory.
...
(cherry picked from commit 1345c46650 )
2025-08-21 08:48:19 -05:00
David Snopek
58c3594cd7
Files generated by SCons should depend on the build_profile (if given)
...
(cherry picked from commit 646ccdf470 )
2025-08-21 08:48:04 -05:00
Lukas Tenbrink
0be68c870f
Make ndk version configurable as a command-like argument.
...
(cherry picked from commit 16e47d7ae5 )
2025-06-24 15:39:06 -05:00
Fabio Alessandrelli
532a028e17
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.
(cherry picked from commit 4879eb7bd0 )
2025-06-24 15:37:09 -05:00
Thaddeus Crews
b905a87ebe
SCons: Add CPPEXTPATH for external includes
...
(cherry picked from commit 30bfa6f215 )
2025-06-24 15:35:19 -05:00
Tom
b139e2fb76
Synced defs.hpp with godot's typedefs.h
...
(cherry picked from commit d634a5f8c4 )
2025-06-24 15:34:18 -05:00
unvermuthet
863f94de77
Implement use_static_cpp flag for Linux
...
(cherry picked from commit b0f41909e0 )
2025-06-24 15:32:45 -05:00
Pāvels Nadtočajevs
6917c1ea17
[macOS] Remove unnecessary Cocoa reference.
...
(cherry picked from commit d239da3221 )
2025-06-24 15:32:03 -05:00
David Snopek
2d45d08722
Check that precision of extension_api.json matches build options
...
(cherry picked from commit 0a73df5f53 )
2025-03-17 11:27:06 -05: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
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
Aaron Franke
e17c7bf530
Allow detecting when building as a GDExtension
2023-12-18 09:13:20 -06:00
David Snopek
588d869a3b
Merge pull request #1313 from DmitriySalnikov/visibility_hidden
...
[Scons] Added the ability to change the visibility of symbols
2023-11-24 07:15:52 -06:00
DmitriySalnikov
79d2a9c456
[Scons] Set the minimum Android API level to 21
2023-11-23 00:28:03 +03:00
DmitriySalnikov
f5e4f95cde
[Scons] Added the ability to change the visibility of symbols
2023-11-21 18:55:02 +03:00
bruvzg
e854e0b592
[iOS] Bump default version to 12 to match engine.
2023-11-21 09:39:53 +02:00
Thaddeus Crews
648b8c4489
fix is_msvc and use_hot_reload variables
2023-11-06 10:50:19 -06:00
Fredia Huya-Kouadio
86dbd5fa0d
Update the environment variables used to access the Android NDK toolchain
2023-11-01 12:14:55 -07:00
Rémi Verschelde
bf1c03ab5f
SCons: Disable C++ exception handling by default
...
Counterpart to https://github.com/godotengine/godot/pull/80612 .
2023-10-22 12:45:46 +02:00
Adam Scott
2d5024ac8e
Refactor compiledb implementation
...
This comment enables the possibility to build the "compile_commands.json"
file by only using `scons -Q compiledb`. No need to use the argument
`compiledb=yes`.
And when using the `compiledb=yes`, it will create a
"compiled_commands.json" automatically.
2023-10-19 10:51:31 -04:00