Samuel Nicholas
5dae002a5d
version bump of mozilla-sccache action to 0.0.9
...
https://github.blog/changelog/2025-03-20-notification-of-upcoming-breaking-changes-in-github-actions/#decommissioned-cache-service-brownouts
(cherry picked from commit bbbcc6adc7 )
2025-06-24 15:35:00 -05:00
Grublady
b0399d9782
Fix TypedDictionary binding generation
...
(cherry picked from commit 26201dd27a )
2025-06-24 15:34:29 -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
Marc Gilleron
bdeb1987f6
Use Math::abs to avoid ambiguity with integer abs
...
(cherry picked from commit 7e6c9c9370 )
2025-06-24 15:34:04 -05:00
Samuel Nicholas
2b4512414b
Fix compatibility break for CI
...
(cherry picked from commit 38e517b98b )
2025-06-24 15:33:53 -05:00
Hugo Locurcio
483499c14c
Update test project to Godot 4.4
...
(cherry picked from commit 552a74c96e )
2025-06-24 15:33:43 -05:00
Tom
466a743112
Added initialiser list support to TypedDictionary
...
(cherry picked from commit 335b490061 )
2025-06-24 15:33:33 -05:00
Samuel Nicholas
3963054a14
CMake: Update CI
...
- Duplicated the ci.yml into ci-scons.yml and ci-cmake.yml
- Replaced some manual shell commands to detect changes with tj-actions/changed-files@v45
- Conditionally run the CI depending on what files change.
- Add ios toolchain from leetal/ios-cmake
- Added a cmake-minimum of 3.10 to silence errors from ios toolchain
(cherry picked from commit b6c0251296 )
2025-06-24 15:33:21 -05:00
Tom
6e6a1ea451
.
...
(cherry picked from commit 946a693859 )
2025-06-24 15:33:04 -05:00
Tom
c435258dde
Made the Array's ptr and ptrw methods private
...
(cherry picked from commit a2c37f8a16 )
2025-06-24 15:32:54 -05:00
unvermuthet
863f94de77
Implement use_static_cpp flag for Linux
...
(cherry picked from commit b0f41909e0 )
2025-06-24 15:32:45 -05:00
Aaron Franke
e299bc623d
Add missing Projection constructor with 16 real_t values
...
(cherry picked from commit aa03c32b3e )
2025-06-24 15:32:33 -05:00
Tom
37febead2b
Add method_ptrcall header include to type_info to fix compiler errors
...
(cherry picked from commit 7ffaecce8c )
2025-06-24 15:32:23 -05:00
David Snopek
940fdea07f
Fix stack smashing when Godot methods return char32_t, char16_t or wchar_t
...
(cherry picked from commit 035add9d4f )
2025-06-24 15:32:14 -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
0a39efe3d3
Synchronize most shared template code with Godot 4.4
...
(cherry picked from commit 1edfca295b )
2025-06-24 15:31:53 -05:00
David Snopek
67f6f96a9b
Synchronize most shared variant code with Godot 4.4
...
(cherry picked from commit 075b517d96 )
2025-06-24 15:31:38 -05:00
Thaddeus Crews
749d68037e
Ignore #pragma once commit
...
(cherry picked from commit c963321cdd )
2025-06-24 15:31:24 -05:00
Thaddeus Crews
f166d4ed8c
Style: Replace header guards with #pragma once
...
(cherry picked from commit 7056c996dd )
2025-06-24 15:31:15 -05:00
Thaddeus Crews
6fcc184587
Style: Integrate #pragma once in builders/checks
...
(cherry picked from commit 107cb1da5e )
2025-06-24 15:31:06 -05:00
David Snopek
e4b7c25e72
gdextension: Sync with upstream commit 49a5bc7b616bd04689a2c89e89bda41f50241464 (4.4.1-stable)
godot-4.4.1-stable
2025-03-27 07:31:44 -05:00
David Snopek
6388e26dd8
Merge pull request #1745 from dsnopek/4.4-cherrypicks-1
...
Cherry-picks for the godot-cpp 4.4 branch - 1st batch
2025-03-18 08:08:53 -05:00
Samuel Nicholas
e9a6dbd697
CMake: public/private flags
...
Made all warnings private.
Warning as error private
Consistency in generator expressions
(cherry picked from commit 5eb16d0c5b )
2025-03-17 11:27:37 -05:00
zhmt
6b0d2e502c
binding_generator.py: Don't error if directory already exists
...
It should be ok when folders exist. Exception shouldn't be thrown.
Update binding_generator.py
It should be ok when folds exist. It will fail to build without this patch, in vs code on windows with compiler ( visual studio community 2022 amd 64) .
Co-Authored-By: Chris Cranford <ccranfor@redhat.com >
(cherry picked from commit d79959c79e )
2025-03-17 11:27:27 -05:00
Samuel Nicholas
21fba890d6
CMake: XCode dependency chain fixes - remastered
...
When attempting to generate XCode projects it would fail due to the target dependency chain not meeting expectations.
This PR, adds the required dependency infomation so that the XCode generator works.
(cherry picked from commit f83f364144 )
2025-03-17 11:27:17 -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
368ec63a24
CMake: Target as configuration option
...
Add GODOTCPP_TARGET configuration option
Remove loop to generate the godot-cpp.<target> CMake Targets
Rename test bindings target
Update documentation
(cherry picked from commit 89abe15268 )
2025-03-17 11:26:56 -05:00
ytnuf
1f477a780e
Remove unnecessary forced -fno-exceptions for web builds
...
The SCons build doesn't do this, so neither should CMake
Excpetions are already handled by DISABLE_EXCEPTIONS option
(cherry picked from commit 43690cb60b )
2025-03-17 11:26:44 -05:00
Samuel Nicholas
5ba2d9c9f6
CMake: default target when godot-cpp is top level
...
People seem to want to build godot-cpp without any arguments, not even specifying a target.
We have to detect if we are top level though because it conflicts with being consumed.
(cherry picked from commit 8b33e73353 )
2025-03-17 11:26:33 -05:00
Samuel Nicholas
4b5d800596
Updating commenting to be consistent
...
(cherry picked from commit 671e309cfa )
2025-03-17 11:26:21 -05:00
Samuel Nicholas
8bdf9b82a2
add gersemi to pre-commit hooks for CMake formatting like black
...
(cherry picked from commit 2f6d7f2dad )
2025-03-17 11:26:12 -05:00
David Snopek
714c9e2c16
gdextension: Sync with upstream commit 4c311cbee68c0b66ff8ebb8b0defdd9979dd2a41 (4.4-stable)
godot-4.4-stable
2025-03-03 09:30:17 -06:00
David Snopek
06082d7727
Merge pull request #1721 from enetheru/godotcpp
...
CMake: Rename all GODOT_ to GODOTCPP_
2025-03-01 10:49:38 -06:00
David Snopek
26358b5e3a
Merge pull request #1719 from dsnopek/gdvirtual-required-macros
...
Update `GDVIRTUAL*()` macros to match Godot 4.4
2025-03-01 08:21:53 -06:00
David Snopek
e3816585fe
gdextension: Sync with upstream commit 15ff450680a40391aabbffde0a57ead2cd84db56 (4.4-rc3)
2025-02-28 19:24:25 -06:00
Samuel Nicholas
d0dd282d73
CMake: Rename all GODOT_ to GODOTCPP_
...
This is for discussion primarily at this stage.
2025-03-01 10:50:55 +10:30
David Snopek
c8c25cd312
Merge pull request #1720 from enetheru/generator_target
...
CMake: Add generate_bindings custom target
2025-02-27 12:57:35 -06:00
David Snopek
4a9409a30f
Update GDVIRTUAL*() macros to match Godot 4.4
2025-02-26 12:56:55 -06:00
David Snopek
375c0d1575
gdextension: Sync with upstream commit 01545c995b0612c68f9dfce8f6cc67576c298381 (4.4-rc2)
2025-02-26 07:51:29 -06:00
Samuel Nicholas
e7f07dab87
CMake: Add generate_bindings custom target
...
I was working on something today and wanted to just generate the bindings separately to compilation.
This PR adds a custom target to do just that.
2025-02-26 23:02:59 +10:30
David Snopek
98ea2f60bb
gdextension: Sync with upstream commit 8ed125b42908d0d46d3b8967e3a3bc03f809b3af (4.4-rc1)
2025-02-24 10:35:53 -06:00
David Snopek
48baa0c812
Merge pull request #1713 from Repiteo/style/nodiscard
...
Style: Replace `_NO_DISCARD_` macro with `[[nodiscard]]`
2025-02-21 14:32:36 -06:00
Thaddeus Crews
89fd27608f
Style: Replace _NO_DISCARD_ macro with [[nodiscard]]
2025-02-20 09:23:08 -06:00
David Snopek
5eb6e6bf61
Merge pull request #1709 from enetheru/MinGWMakefiles
...
CMake: Create destination folder for doc_source.cpp generation
2025-02-17 15:26:44 -06:00
Samuel Nicholas
23c24073f4
CMake: Create destination folder for doc_source.cpp generation
...
When compiling using 'MinGW Makefiles' the folders aren't created automatically.
2025-02-18 07:11:53 +10:30
David Snopek
79f9bc9600
Merge pull request #1708 from enetheru/arch_confusion
...
CMake: Fix unknown architecture and simplify OSX_ARCHITECTURES
2025-02-17 11:04:34 -06:00
David Snopek
3f54a86554
Merge pull request #1707 from enetheru/cmake_module
...
CMake: GodotCPPModule.cmake
2025-02-17 11:04:25 -06:00
David Snopek
847dca4792
Merge pull request #1701 from enetheru/msvc_runtime
...
CMake: Fix for #1699 msvc runtime selection issues
2025-02-17 11:04:15 -06:00
Samuel Nicholas
18a926e836
CMake: Fix for #1699 msvc runtime selection issues
...
Previously I eschewed the use of CMAKE_MSVC_RUNTIME_LIBRARY in favour of setting the flags using target_compile_options so that they would propagate to consumers.
However, it has been raised that a dependency( independent to godot-cpp ) that doesn't set any runtime flags, which relies purely on the CMAKE_MSVC_RUNTIME_LIBRARY variable will very likely not have the correct msvc runtime flags set.
Where MSVC documentation states "All modules passed to a given invocation of the linker must have been compiled with the same runtime library compiler option (/MD, /MT, /LD)."
It was also mentioned that message type WARNING is not ideal for notifying consumers.
So I have updated the cmake code to use CMAKE_MSVC_RUNTIME_LIBRARY over target-compile_options. And set it as a CACHE STRING variable so that it can be overridden if desired. We still message consumers, but as a NOTICE.
2025-02-15 18:28:12 +10:30
Samuel Nicholas
35469fd839
Turn python_callouts.cmake into GodotCPPModule.cmake
...
Move the find_package for python into it.
Recommend adding godot-cpp/cmake to CMAKE_MODULE_PATH and using include( GodotCPPModule ) to use functions.
Add target_doc_sources function to simplify the addition of documentation to a binary.
2025-02-15 09:04:12 +10:30