863f94de77
Implement use_static_cpp flag for Linux
...
(cherry picked from commit b0f41909e0 )
2025-06-24 15:32:45 -05:00
e299bc623d
Add missing Projection constructor with 16 real_t values
...
(cherry picked from commit aa03c32b3e )
2025-06-24 15:32:33 -05:00
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
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
6917c1ea17
[macOS] Remove unnecessary Cocoa reference.
...
(cherry picked from commit d239da3221 )
2025-06-24 15:32:03 -05:00
0a39efe3d3
Synchronize most shared template code with Godot 4.4
...
(cherry picked from commit 1edfca295b )
2025-06-24 15:31:53 -05:00
67f6f96a9b
Synchronize most shared variant code with Godot 4.4
...
(cherry picked from commit 075b517d96 )
2025-06-24 15:31:38 -05:00
749d68037e
Ignore #pragma once commit
...
(cherry picked from commit c963321cdd )
2025-06-24 15:31:24 -05:00
f166d4ed8c
Style: Replace header guards with #pragma once
...
(cherry picked from commit 7056c996dd )
2025-06-24 15:31:15 -05:00
6fcc184587
Style: Integrate #pragma once in builders/checks
...
(cherry picked from commit 107cb1da5e )
2025-06-24 15:31:06 -05:00
e4b7c25e72
gdextension: Sync with upstream commit 49a5bc7b616bd04689a2c89e89bda41f50241464 (4.4.1-stable)
godot-4.4.1-stable
2025-03-27 07:31:44 -05:00
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
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
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
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
2d45d08722
Check that precision of extension_api.json matches build options
...
(cherry picked from commit 0a73df5f53 )
2025-03-17 11:27:06 -05:00
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
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
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
4b5d800596
Updating commenting to be consistent
...
(cherry picked from commit 671e309cfa )
2025-03-17 11:26:21 -05:00
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
714c9e2c16
gdextension: Sync with upstream commit 4c311cbee68c0b66ff8ebb8b0defdd9979dd2a41 (4.4-stable)
godot-4.4-stable
2025-03-03 09:30:17 -06:00
06082d7727
Merge pull request #1721 from enetheru/godotcpp
...
CMake: Rename all GODOT_ to GODOTCPP_
2025-03-01 10:49:38 -06:00
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
e3816585fe
gdextension: Sync with upstream commit 15ff450680a40391aabbffde0a57ead2cd84db56 (4.4-rc3)
2025-02-28 19:24:25 -06:00
d0dd282d73
CMake: Rename all GODOT_ to GODOTCPP_
...
This is for discussion primarily at this stage.
2025-03-01 10:50:55 +10:30
c8c25cd312
Merge pull request #1720 from enetheru/generator_target
...
CMake: Add generate_bindings custom target
2025-02-27 12:57:35 -06:00
4a9409a30f
Update GDVIRTUAL*() macros to match Godot 4.4
2025-02-26 12:56:55 -06:00
375c0d1575
gdextension: Sync with upstream commit 01545c995b0612c68f9dfce8f6cc67576c298381 (4.4-rc2)
2025-02-26 07:51:29 -06:00
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
98ea2f60bb
gdextension: Sync with upstream commit 8ed125b42908d0d46d3b8967e3a3bc03f809b3af (4.4-rc1)
2025-02-24 10:35:53 -06:00
48baa0c812
Merge pull request #1713 from Repiteo/style/nodiscard
...
Style: Replace `_NO_DISCARD_` macro with `[[nodiscard]]`
2025-02-21 14:32:36 -06:00
89fd27608f
Style: Replace _NO_DISCARD_ macro with [[nodiscard]]
2025-02-20 09:23:08 -06:00
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
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
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
3f54a86554
Merge pull request #1707 from enetheru/cmake_module
...
CMake: GodotCPPModule.cmake
2025-02-17 11:04:25 -06:00
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
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
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
9d9099adcd
Simplified architecture naming to reduce confusion
2025-02-09 18:08:53 +10:30
f398ebb8ce
gdextension: Sync with upstream commit 06acfccf89ad6b900ae694a4d58ceade1967a85f (4.4-beta3)
2025-02-08 15:02:31 -06:00
560f786599
Merge pull request #1698 from enetheru/threads
...
CMake: Implement 'threads' Option
2025-02-07 12:07:33 -06:00
91f81f51e1
CMake: Implement 'threads' Option
...
Add the GODOT_THREADS option and related supporting code
Includes naming cleanups
2025-02-04 09:08:35 +10:30
ee2a895ea4
Merge pull request #1335 from godotengine/dependabot/github_actions/actions/upload-artifact-4
...
Bump actions/upload-artifact from 3 to 4
2025-02-03 11:18:23 -06:00
f06af65c87
gdextension: Sync with upstream commit a013481b0911e59cc3f3dea7ebb732450c3e1460 (4.4-beta2)
2025-02-02 08:41:18 -06:00
3c55ca7a14
Merge pull request #1691 from enetheru/fix1690
...
CMake: Fix #1690 - DEBUG_FEATURES generator expression
2025-01-29 11:14:51 -06:00
9ce7a71cbf
CMake: Fix #1690 - DEBUG_FEATURES generator expression
...
As described in issue #1690 the expression needs to depend on TARGET_ALIAS not TARGET_NAME.
This was introduced when I was solving the naming conflict issues and I missed this usage.
2025-01-23 14:36:48 +10:30
13cd2d921c
Merge pull request #1628 from IvanInventor/typed_dict_regression_fix
...
fix typed_dictionary compile-time regression
2025-01-21 11:15:42 -06:00
b86cf321d0
Merge pull request #1687 from bgie/enum_size
...
Fix buffer overrun with enums pointers cast to int64_t* when enum is only 32-bit
2025-01-21 06:28:58 -06:00