Commit Graph

1627 Commits

Author SHA1 Message Date
Samuel Nicholas
b6c0251296 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
2025-04-05 13:31:52 +10:30
David Snopek
da064d84d2 Merge pull request #1717 from tomfull123/typed-array-range-based-loop-support
Add support for range based loops for Array
2025-04-02 13:00:38 -05:00
David Snopek
c26e7c9734 Merge pull request #1754 from tomfull123/typed-dictionary-compilation-errors
Add method_ptrcall header include to type_info to fix compiler errors
2025-04-02 12:59:51 -05:00
David Snopek
d72baf192d Merge pull request #1742 from aaronfranke/projection-construct
Add missing Projection constructor with 16 `real_t` values
2025-04-02 12:59:14 -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
Tom
a2c37f8a16 Made the Array's ptr and ptrw methods private 2025-04-01 20:47:35 +01:00
Tom
7ffaecce8c Add method_ptrcall header include to type_info to fix compiler errors 2025-04-01 20:35:19 +01:00
David Snopek
f3deed0270 Merge pull request #1753 from dsnopek/stack-smashing-char-types
Fix stack smashing when Godot methods return `char32_t`, `char16_t` or `wchar_t`
2025-04-01 09:26:42 -05:00
David Snopek
035add9d4f Fix stack smashing when Godot methods return char32_t, char16_t or wchar_t 2025-03-28 07:41:25 -05:00
David Snopek
f088bc9b25 Merge pull request #1752 from bruvzg/rem_libs
[macOS] Remove unnecessary Cocoa reference.
2025-03-28 07:17:53 -05:00
Pāvels Nadtočajevs
d239da3221 [macOS] Remove unnecessary Cocoa reference. 2025-03-28 08:45:43 +02:00
David Snopek
f08e781b0b Merge pull request #1718 from dsnopek/godot-sync-pre44-templates
Synchronize most shared template code with Godot 4.4
2025-03-14 14:13:31 -05:00
David Snopek
2b4802d0a8 Merge pull request #1715 from dsnopek/godot-sync-pre44
Synchronize most shared variant code with Godot 4.4
2025-03-14 14:13:21 -05:00
David Snopek
075b517d96 Synchronize most shared variant code with Godot 4.4 2025-03-14 11:39:56 -05:00
David Snopek
1edfca295b Synchronize most shared template code with Godot 4.4 2025-03-14 11:33:10 -05:00
David Snopek
67ca2fbbad Merge pull request #1740 from enetheru/privatise
CMake: public/private flags
2025-03-14 09:20:46 -05:00
David Snopek
654de13b5c Merge pull request #1702 from zhmt/master
binding_generator.py: Don't error if directory already exists
2025-03-14 08:56:30 -05:00
David Snopek
e4bd867056 Merge pull request #1730 from enetheru/XCode
CMake: XCode dependency chain fixes
2025-03-14 07:34:36 -05:00
Aaron Franke
aa03c32b3e Add missing Projection constructor with 16 real_t values 2025-03-14 02:46:23 -07:00
zhmt
d79959c79e 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>
2025-03-14 14:02:53 +08:00
Samuel Nicholas
5eb16d0c5b CMake: public/private flags
Made all warnings private.
Warning as error private
Consistency in  generator expressions
2025-03-14 11:11:15 +10:30
Samuel Nicholas
f83f364144 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.
2025-03-14 10:10:33 +10:30
David Snopek
6f981b33cc Merge pull request #1704 from BenLubar/missing-braces
Fix -Wmissing-braces warning (included in -Wall) in array constructor for generated function call bindings
2025-03-13 12:45:03 -05:00
David Snopek
d8807a10d6 Merge pull request #1734 from Repiteo/style/pragma-once
Replace header guards style with `#pragma once`
2025-03-13 11:47:14 -05:00
David Snopek
a5db125d2e Merge pull request #1714 from dsnopek/extension-api-precision
Check that precision of `extension_api.json` matches build options
2025-03-13 11:43:30 -05:00
David Snopek
9f02db1eb8 Merge pull request #1733 from enetheru/single_target_test
CMake: Revert to single cmake target
2025-03-13 11:42:15 -05:00
David Snopek
0b6350dd29 Merge pull request #1738 from ytnuf/exception
Remove unnecessary forced -fno-exceptions for web builds
2025-03-13 11:40:40 -05:00
Samuel Nicholas
89abe15268 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
2025-03-12 08:58:59 +10:30
ytnuf
43690cb60b 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
2025-03-10 13:33:56 +00:00
Thaddeus Crews
c963321cdd Ignore #pragma once commit 2025-03-07 17:58:27 -06:00
Thaddeus Crews
7056c996dd Style: Replace header guards with #pragma once 2025-03-07 17:58:10 -06:00
Thaddeus Crews
107cb1da5e Style: Integrate #pragma once in builders/checks 2025-03-07 17:57:16 -06:00
David Snopek
a3f89217df Merge pull request #1723 from enetheru/comments
CMake: Comment Cleanup
2025-03-06 08:21:53 -06:00
David Snopek
55cbea7435 Merge pull request #1728 from enetheru/default_target
CMake: template_debug as default target when godot-cpp is top level
2025-03-06 08:21:29 -06:00
Samuel Nicholas
8b33e73353 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.
2025-03-07 00:04:36 +10:30
Samuel Nicholas
671e309cfa Updating commenting to be consistent 2025-03-06 23:57:02 +10:30
David Snopek
05f5d73876 Merge pull request #1722 from enetheru/gersemi
CMake: Pre-Commit Hook to Gersemi for auto-formatting
2025-03-06 06:42:51 -06:00
Samuel Nicholas
2f6d7f2dad add gersemi to pre-commit hooks for CMake formatting like black 2025-03-04 13:58:39 +10:30
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
0a73df5f53 Check that precision of extension_api.json matches build options 2025-02-27 13:27:11 -06:00
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