Commit Graph

1156 Commits (670c4d0eac5f9f06dedd89fed28c33b86d93635a)

Author SHA1 Message Date
Fabio Alessandrelli 670c4d0eac [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`.

(cherry picked from commit 16df4bff30)
2024-03-11 13:06:57 -05:00
Fabio Alessandrelli bab62a4d72 [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/`)

(cherry picked from commit baaad7ada2)
2024-03-11 13:01:23 -05:00
DaylilyZeleen 1ac8627b2e Fix object return value of builtin types' methods.
(cherry picked from commit 6a3753c076)
2024-03-11 12:59:32 -05:00
bruvzg 6202bf141e Switch to 64-bit ints.
(cherry picked from commit 59a5a8b104)
2024-03-11 12:59:19 -05:00
David Snopek 4b63d795e4
Merge pull request #1373 from dsnopek/4.1-cherrypicks-7
Cherry-picks for the godot-cpp 4.1 branch - 7th batch
2024-02-16 09:37:17 -06:00
MJacred 2cc967787a Update README: fix godot-cpp issue tracker url
(cherry picked from commit 8a535d0ecc)
2024-01-24 08:44:28 -06:00
nightblade9 6884ca9be0 Update README.md with basic pre-requisites
(cherry picked from commit ee169b201b)
2024-01-22 15:53:49 -06:00
Daylily-Zeleen dde0bbb93d Remove "godot" namespace when binding global constants.
(cherry picked from commit bd40a94424)
2024-01-22 15:53:49 -06:00
A Thousand Ships 1c03aa7746 Add missing `OP_POWER` operator to `Variant`
(cherry picked from commit f037a697eb)
2024-01-22 15:53:49 -06:00
ArchLinus 82475b215b Add an error message if android NDK is not installed
(cherry picked from commit 718d0baea3)
2024-01-22 15:53:49 -06:00
Aaron Franke 49098fbdc7 Allow detecting when building as a GDExtension
(cherry picked from commit e17c7bf530)
2024-01-22 15:53:49 -06:00
dependabot[bot] 756190705e Bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit a7becb43e6)
2024-01-22 15:53:49 -06:00
Rémi Verschelde 2e42c7020e CMake: Remove hardcoded warnings list and forcing -Werror on library builds
The CMake buildsystem should be completely reviewed to properly match
what is done by SCons, instead of making its own arbitrary decisions on
how godot-cpp should be compiled.

Currently the SCons setup doesn't include warning options, so CMake
shouldn't either. Options similar to upstream Godot's SCons setup could
be added, and then replicated for CMake.

(cherry picked from commit 41517eacb1)
2024-01-22 15:53:49 -06:00
David Snopek e9273e8528 Avoid error from -Werror=type-limits on GCC 11
(cherry picked from commit cad5be53b1)
2024-01-22 15:53:49 -06:00
David Snopek b1bd58d7da Send NOTIFICATION_POSTINITIALIZE to extension classes
(cherry picked from commit 20c4e843b0)
2024-01-22 15:53:49 -06:00
LAK132 d5a2e8e797 Fix file list issues when trying to build with meson via cmake
(cherry picked from commit 39c139c814)
2024-01-22 15:53:49 -06:00
Bytzo 6bb4b1d321 Prevent CMake from always including debug symbols
(cherry picked from commit db884e9b1d)
2024-01-22 15:53:49 -06:00
DmitriySalnikov 51aeda7437 [Scons] Set the minimum Android API level to 21
(cherry picked from commit 79d2a9c456)
2024-01-22 15:53:49 -06:00
dependabot[bot] cd904155a8 Bump mymindstorm/setup-emsdk from 12 to 13
Bumps [mymindstorm/setup-emsdk](https://github.com/mymindstorm/setup-emsdk) from 12 to 13.
- [Release notes](https://github.com/mymindstorm/setup-emsdk/releases)
- [Commits](https://github.com/mymindstorm/setup-emsdk/compare/v12...v13)

---
updated-dependencies:
- dependency-name: mymindstorm/setup-emsdk
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit 78bf5a42ed)
2024-01-22 15:53:49 -06:00
bruvzg b622b11df3 [iOS] Fix initialisation/termination of multiple statically linked extensions.
(cherry picked from commit adc9def046)
2024-01-22 15:53:49 -06:00
Rémi Verschelde 92449b46e1 CI: Install Android NDK r23c explicitly
It has just been removed from the Ubuntu 20.04 default install,
breaking our CI setup.

Also, sets Emscripten version to 3.1.39, as done upstream.
Newer versions actually break dynamic library support.

(cherry picked from commit eea33b4133)
2024-01-22 15:53:49 -06:00
Thaddeus Crews e8b6887b36 Add missing int→Variant conversions
(cherry picked from commit bcac96c8c2)
2024-01-22 15:53:49 -06:00
Rémi Verschelde 631cd5fe37
Merge pull request #1306 from dsnopek/4.1-cherrypicks-6
Cherry-picks for the godot-cpp 4.1 branch - 6th batch
2023-11-13 20:28:26 +01:00
Alex Drozd 731a10a4ea ignoring venv in .gitignore
(cherry picked from commit 92dd34ae96)
2023-11-13 13:00:24 -06:00
Thaddeus Crews a1ae58448c fix is_msvc and use_hot_reload variables
(cherry picked from commit 648b8c4489)
2023-11-13 13:00:24 -06:00
Thaddeus Crews 805cdde0b7 GDCLASS synced by ending with "private:"
• Matches implementation used by modules and godot itself
• Apply same to GDEXTENSION_CLASS, setup with same diff-friendly spacers as GDCLASS

(cherry picked from commit 6eb5d450bd)
2023-11-13 13:00:24 -06:00
Fredia Huya-Kouadio 29335d8f5c Update the environment variables used to access the Android NDK toolchain
(cherry picked from commit 86dbd5fa0d)
2023-11-13 13:00:24 -06:00
Rémi Verschelde c5f47b2a4e
CI: Workaround upstream issue with .NET editor build not exiting
We force closing the process after 10 s, which should be ample time to generate
the .godot folder.

(cherry picked from commit 306774b5a4)
2023-11-13 19:15:07 +01:00
Rémi Verschelde df5b1a9a69
gdextension: Sync with upstream commit fc79201851a16215f9554884aa242ed957801b10 (4.1.3-stable) 2023-11-09 13:25:22 +01:00
Rémi Verschelde 04b34077d8
Merge pull request #1281 from dsnopek/4.1-cherrypicks-5
Cherry-picks for the godot-cpp 4.1 branch - 5th batch
2023-10-24 11:38:55 +02:00
David Snopek 9d813310bb Add protections against registering classes that didn't use GDCLASS()
(cherry picked from commit a61cdc8860)
2023-10-23 10:11:04 -05:00
Rémi Verschelde ef8a499eac SCons: Disable C++ exception handling by default
Counterpart to https://github.com/godotengine/godot/pull/80612.

(cherry picked from commit bf1c03ab5f)
2023-10-23 10:10:59 -05:00
gilzoide 698da13d66 Fix return value and r_valid value in Variant::iter_init and iter_next
(cherry picked from commit 60dfa3445a)
2023-10-22 14:47:10 -05:00
Adam Scott 8295486fdb 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.

(cherry picked from commit 2d5024ac8e)
2023-10-22 14:46:58 -05:00
Thaddeus Crews 7704a9d054 Let gdextension_dir function as only argument
(cherry picked from commit 7a5cbcac21)
2023-10-22 14:46:48 -05:00
David Snopek f7ffc4fe4d Automatically register only engine classes whose header has been included
(cherry picked from commit b507b3e591)
2023-10-22 14:46:26 -05:00
Fabio Alessandrelli 62cb5eac47 [SCons] Rename javascript tool to web
And clean it up a bit.

(cherry picked from commit 18bfa133ab)
2023-10-22 14:03:20 -05:00
Mikael Hermansson 03ea717742 Declare explicit specializations for `CharStringT`
(cherry picked from commit 6e05b978b8)
2023-10-22 14:03:10 -05:00
Rémi Verschelde e389f7a50c
Merge pull request #1261 from dsnopek/4.1-cherrypicks-4
Cherry-picks for the godot-cpp 4.1 branch - 4th batch
2023-10-12 18:08:12 +02:00
Nick Maltbie 0b1c8bcac3 Added fix for javascript build for godot 4.x
Added changes to tools/javascript.py to add PFlags to fix SharedArrayBuffer memory error.
Corrected some small errors in tools/javascript.py to support new target names.
Also updated ci to include validation for web build.

(cherry picked from commit 2b4bcbb0ce)
2023-10-09 08:43:36 -05:00
Matthew Murphy 857d8e3a56 Fix variant call compiler error
Co-authored-by: David Snopek <dsnopek@gmail.com>
(cherry picked from commit ca3e25de04)
2023-10-09 08:43:23 -05:00
David Snopek ec6e51b3a4 Handle missing instance binding callbacks by finding the closest parent
(cherry picked from commit 52ca3ef547)
2023-10-09 08:42:55 -05:00
Adam Scott f8054cca80 Add support to import custom variables from parent SConstruct (redux)
(cherry picked from commit 982e01ec7f)
2023-10-09 08:42:43 -05:00
A Thousand Ships 59ebcfd744 Fix allocation size overflow check in `CowData`
(cherry picked from commit 06ffc7e952)
2023-10-09 08:42:31 -05:00
A Thousand Ships 205beacc5b Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
(cherry picked from commit 1e5767693e)
2023-10-09 08:42:16 -05:00
Rémi Verschelde 3b3f357de9
CI: Fix MinGW install error by pinning to earlier version
Works around https://github.com/egor-tensin/setup-mingw/issues/14.

(cherry picked from commit 0369f6fea0)
2023-10-04 15:21:01 +02:00
Rémi Verschelde 48b92acf8c
gdextension: Sync with upstream commit 399c9dc393f6f84c0b4e4d4117906c70c048ecf2 (4.1.2-stable) 2023-10-04 12:02:54 +02:00
Rémi Verschelde 4eed2d7be0
Merge pull request #1244 from dsnopek/4.1-cherrypicks-3
Cherry-picks for the godot-cpp 4.1 branch - 3rd batch
2023-09-20 23:48:26 +02:00
David Snopek bc82ae8b0b Add static methods to `ClassDB` for the methods bound to the `ClassDB` singleton
(cherry picked from commit 6f913563d8)
2023-09-19 21:30:03 -05:00
David Snopek 590e267902 Load 'print_error_with_message' function
(cherry picked from commit 634ed09ec0)
2023-09-19 21:29:29 -05:00