Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge commit godotengine/godot-cpp@714c9e2 #18

Merged
merged 48 commits into from
Mar 8, 2025

Conversation

Spartan322
Copy link
Member

No description provided.

dependabot bot and others added 30 commits December 14, 2023 19:42
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
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
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).
[Bindings] Build profile now strips methods and skip files
CMake: Alleviate target name clashes, visibility, and grouping.
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
Update for virtual method compatibility system
CMake: Support for using build_profile.json
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>
CMake: Support for XML documentation
Update README.md with new pre-commit instructions
Fix buffer overrun with enums pointers cast to int64_t* when enum is only 32-bit
fix typed_dictionary compile-time regression
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.
CMake: Fix #1690 - DEBUG_FEATURES generator expression
…ctions/upload-artifact-4

Bump actions/upload-artifact from 3 to 4
Add the GODOT_THREADS option and related supporting code
Includes naming cleanups
CMake: Implement 'threads' Option
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.
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.
CMake: Fix for #1699 msvc runtime selection issues
dsnopek and others added 16 commits February 17, 2025 11:04
CMake: Fix unknown architecture and simplify OSX_ARCHITECTURES
When compiling using 'MinGW Makefiles' the folders aren't created automatically.
CMake: Create destination folder for doc_source.cpp generation
Style: Replace `_NO_DISCARD_` macro with `[[nodiscard]]`
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.
CMake: Add generate_bindings custom target
This is for discussion primarily at this stage.
Update `GDVIRTUAL*()` macros to match Godot 4.4
CMake: Rename all GODOT_ to GODOTCPP_
@Spartan322 Spartan322 merged commit a114d67 into Redot-Engine:master Mar 8, 2025
11 checks passed
@Spartan322 Spartan322 deleted the merge/714c9e2 branch March 8, 2025 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants