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
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
Ben Lubar
479d206c50
make Vector<T>::bsearch use a const receiver
2025-02-19 13:52:50 -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
Ben Lubar
a353be57d8
Fix -Wmissing-braces warning (included in -Wall) in array constructor for generated function call bindings
2025-02-09 17:20:06 -06:00
Samuel Nicholas
9d9099adcd
Simplified architecture naming to reduce confusion
2025-02-09 18:08:53 +10:30
David Snopek
f398ebb8ce
gdextension: Sync with upstream commit 06acfccf89ad6b900ae694a4d58ceade1967a85f (4.4-beta3)
2025-02-08 15:02:31 -06:00
David Snopek
560f786599
Merge pull request #1698 from enetheru/threads
...
CMake: Implement 'threads' Option
2025-02-07 12:07:33 -06:00
Samuel Nicholas
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
David Snopek
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
David Snopek
f06af65c87
gdextension: Sync with upstream commit a013481b0911e59cc3f3dea7ebb732450c3e1460 (4.4-beta2)
2025-02-02 08:41:18 -06:00
David Snopek
3c55ca7a14
Merge pull request #1691 from enetheru/fix1690
...
CMake: Fix #1690 - DEBUG_FEATURES generator expression
2025-01-29 11:14:51 -06:00
Samuel Nicholas
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
David Snopek
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
David Snopek
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
David Snopek
faf6facffc
Merge pull request #1686 from bgie/readme_precommit
...
Update README.md with new pre-commit instructions
2025-01-21 06:27:40 -06:00
David Snopek
dfc51960f9
gdextension: Sync with upstream commit d33da79d3f8fe84be2521d25b9ba8e440cf25a88 (4.4-beta1)
2025-01-20 15:23:58 -06:00
Brecht Kuppens
7576dc5930
Fix buffer overrun with enums pointers cast to int64_t* when enum is only 32-bit
2025-01-20 10:29:16 +01:00