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
Brecht Kuppens
bd3cf478c6
Update README.md with new pre-commit instructions
2025-01-20 09:25:59 +01:00
David Snopek
befe3ee2f2
Merge pull request #1682 from enetheru/gdext-docs-cmake
...
CMake: Support for XML documentation
2025-01-13 09:06:59 -06:00
Samuel Nicholas
8814ac51ac
CMake: Support for XML documentation
...
Add new function generate_doc_source to python_callouts.cmake
Update Test extension to use generate_doc_source function and include generated file in the build.
Cleanup:
Fix godotcpp.py imports after rebase
Pre-Commit hook sorted python imports in doc_source_generator.py
- replace ${CMAKE_CURRENT_SOURCE_DIR} with ${godot-cpp_SOURCE_DIR} when referencing current working directory and script locations when invoking python scripts.
Co-authored-by: David Snopek <dsnopek@gmail.com>
2025-01-13 08:28:42 +10:30
David Snopek
94a1f4f2fb
Merge pull request #1670 from enetheru/build_profile
...
CMake: Support for using build_profile.json
2025-01-12 05:29:29 -06:00
David Snopek
65046d00a5
Merge pull request #1676 from dsnopek/gdextension-virtual-method-compat
...
Update for virtual method compatibility system
2025-01-12 05:28:38 -06:00
David Snopek
5c9529fc84
Update for virtual method compatibility system
2025-01-11 16:36:59 -06:00
Samuel Nicholas
ae198fe860
CMake: Support using build_profile.json
...
Add python_callouts.py to hold functions which call python utilities
- generate trimmed API
- generate file list
- generate bindings
if GODOT_BUILD_PROFILE is specified, a trimmed API file is created in the CMAKE_CURRENT_BINARY_DIR and used as the source for binding generation
Simplify Code Generation Variables
- use generator expressions
- use math for bits
- simplify if statements
2025-01-11 12:22:22 +10:30
David Snopek
012b8ffc3a
Merge pull request #1658 from enetheru/name_clash
...
CMake: Alleviate target name clashes, visibility, and grouping.
2025-01-10 09:05:54 -06:00
David Snopek
7d3870bc87
Merge pull request #1680 from Faless/build/profile_strip_json
...
[Bindings] Build profile now strips methods and skip files
2025-01-07 14:42:20 -06:00
Fabio Alessandrelli
0cfe01eff2
[CI] Re-add generated files consistency check
2025-01-07 20:33:12 +01:00
Fabio Alessandrelli
c4f1abe3f9
[Bindings] Build profile now strips methods and skip files
...
This allows removing dependencies that are not explicitly unused by the
gdextension being built and is implemented using an intermediate json
API file with the methods and classes stripped (i.e. without touching
the file generators).
2025-01-07 20:33:12 +01:00
Samuel Nicholas
6f7293cef4
Alleviate CMake target name clashes, visibility, and grouping.
...
Simplify <platform>_generate cmake function signature, as TARGET_ALIAS and TARGET_NAME are still in scope and do not need to be passed.
Add USE_FOLDERS, and FOLDER properties to group targets in VS and XCode
Guard test target with GODOT_ENABLE_TESTING
Generate all three variants in the form godot-cpp.test.<target> to remove the -DTEST_TARGET option clutter.
Update the docs/cmake.rst with information about the testing target
Update the Github CI
2024-12-29 09:54:55 +10:30
David Snopek
47f11bc5c7
Merge pull request #1666 from raulsntos/set_class_icon
...
Add a method to set the class icon
2024-12-21 17:17:50 -06:00
Raul Santos
2fd3a80505
Add icon path to class creation info
2024-12-18 01:44:22 +01:00
David Snopek
27ffd8c6be
Merge pull request #1668 from dsnopek/print-verbose-conflict
...
Fix `print_verbose()` macro conflicting with `UtilityFunctions::print_verbose()`
2024-12-10 08:57:32 -06:00
David Snopek
47d9cb9bed
Fix `print_verbose()` macro conflicting with `UtilityFunctions::print_verbose()`
2024-12-09 11:33:57 -06:00
David Snopek
97c16d3379
Merge pull request #1656 from Ivorforce/gh-action-setup-godot-cpp
...
Add a separate setup-godot-cpp github action.
2024-12-09 10:39:57 -06:00
Lukas Tenbrink
9943675dcb
Add a separate setup-godot-cpp github action.
2024-12-09 16:13:43 +01:00
David Snopek
38056d1086
Merge pull request #1651 from enetheru/clang-cl
...
CMake: Enable using clang-cl on windows
2024-12-09 08:30:20 -06:00
Samuel Nicholas
ef9778a392
CMake: Enable using clang-cl on windows
...
detect clang with MSVC frontend using CMAKE_CXX_COMPILER_FRONTEND_VARIANT
2024-12-09 11:58:40 +10:30
David Snopek
ce66e6bb39
Merge pull request #1648 from enetheru/dev_tag
...
CMake: Handle GODOT_DEV_BUILD flag
2024-12-08 08:18:07 -06:00
Samuel Nicholas
542ab19a21
CMake: Handle GODOT_DEV_BUILD flag correctly
...
.dev is added to output artifacts
Warn users for specifying dev_build and Release build config
Update documentation with deviations to SCons
Update debug_symbols handling, its rolled into build config
Cleanup helper variables and comments
2024-12-07 09:50:59 +10:30
David Snopek
163189fba9
Merge pull request #1660 from enetheru/exclude_typo
...
CMake: Replace empty ${EXCLUDE} variable with EXCLUDE_FROM_ALL
2024-12-06 16:08:27 -06:00
David Snopek
4eaef4ca9a
Merge pull request #1663 from enetheru/fix_crt_debug
...
CMake: Fix selection of MSVC Runtime compile flags
2024-12-06 16:08:19 -06:00
David Snopek
72aeb35691
Merge pull request #1655 from Ivorforce/variant-internal
...
Add variant_internal.hpp.
2024-12-06 16:08:04 -06:00
Samuel Nicholas
9df3a66a88
Replace empty EXCLUDE variable with EXCLUDE_FROM_ALL
...
This was a mistake left over from the modernise PR
2024-12-05 09:16:11 +10:30
Samuel Nicholas
732df06a81
CMake: Fix selection of MSVC Runtime compile flags
...
My last attempt at solving this was not correct. I have left lots of comments in the source detailing the issue as it will effect consumers.
2024-12-05 09:15:40 +10:30
David Snopek
bb567060f4
Merge pull request #1616 from dsnopek/ptrtoarg-no-error-for-null-ref
...
Don't print an error when decoding a null Ref<T>
2024-12-02 12:54:26 -06:00
Lukas Tenbrink
daef7d48ea
Add variant_internal.hpp.
...
This module contains VariantInternalType, VariantInternal, VariantGetInternalPtr, VariantInternalAccessor and VariantDefaultInitializer, allowing to access and manipulate Variant's internal values.
2024-11-28 15:15:03 +01:00
David Snopek
5255034fb0
Merge pull request #1653 from aaronfranke/print
...
Add `print_line` for compatibility with engine modules
2024-11-28 07:31:06 -06:00
David Snopek
b378d8c21f
Merge pull request #1654 from Ivorforce/gdextension-interface-update
...
Update gdextension_interface.h. Add metadata to GetTypeInfo of char16_t and char32_t.
2024-11-28 06:59:21 -06:00
David Snopek
af4eaa76d7
Merge pull request #1649 from enetheru/fix-backward-break
...
CMake: fix break for build prior to modernisation PR
2024-11-28 06:58:57 -06:00
David Snopek
3a8d7a25ae
Merge pull request #1647 from enetheru/fix#1459
...
CMake: Align MSVC runtime (MD[d], MT) options to engine
2024-11-28 06:57:53 -06:00
David Snopek
bc6f79c67a
Merge pull request #1617 from zhehangd/fix_def_hpp_namespace
...
Use namespace in defs.hpp
2024-11-28 06:57:20 -06:00
Samuel Nicholas
b7dbd26d8f
Align MSVC runtime (MD[d], MT) options to engine #1647
...
Engine has an option to link to MDd debug_crt
add flag to SCons options
Add flag to CMAKE options
2024-11-28 13:46:41 +10:30
Lukas Tenbrink
f174b4a445
Update gdextension_interface.h. Add metadata to GetTypeInfo of char16_t and char32_t.
2024-11-26 21:43:59 +01:00
Aaron Franke
ac466e4766
Add `print_line` for compatibility with engine modules
2024-11-26 03:06:22 -08:00
Samuel Nicholas
597055d13c
CMake: re-add the godot::cpp alias pointing to template_debug
...
So that builds that relied on the alias already wont break.
2024-11-26 19:42:33 +10:30
David Snopek
a42b3634d2
Merge pull request #1598 from enetheru/modernise
...
Modernise existing cmake options
2024-11-22 08:23:46 -06:00