-
Notifications
You must be signed in to change notification settings - Fork 61
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
GH-868 Bump godot-engine/godot-cpp to 4.4.beta2 #875
base: main
Are you sure you want to change the base?
Conversation
Platform build mappings need to be fixed:
In addition, there are a few build warnings to fix:
|
reloadable = false | ||
|
||
[libraries] | ||
|
||
linux.x86_64 = "res://addons/orchestrator/orchestrator.linux.64.release.so" | ||
#linux.debug.x86_64 = "res://addons/orchestrator/orchestrator.linux.64.debug.so" | ||
linux.x86_64 = "res://addons/orchestrator/orchestrator.linux.x86_64.release.so" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These filenames I assume were taken from my PR, but you have specifically set the name to use ORCHESTRATOR_ARCH so this will break.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @enetheru agreed, I have highlighted this in the above comment. I don't have a way to test the builds locally, so this was my first pass to see how things would land on multi-architecture builds. Will be fixed in the next rebase.
@@ -126,7 +123,7 @@ TARGET_COMPILE_OPTIONS(${PROJECT_NAME} PUBLIC | |||
/MDd | |||
> | |||
$<$<CONFIG:Release>: | |||
/MD | |||
/MT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The godot-cpp defines the msvc runtime flags as public, so will propogate them to consumers, there shouldnt be a need to set them manually like this.
infact, it currently has all flags as public which is something I want to change, but the msvc runtime ones will remain public.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, I see the logic for this in windows.cmake
, thanks for the reference.
@enetheru are there any plans to backport these cmake changes in godot-cpp to prior branches or this only applies to 4.4+? |
Hi @enetheru it seems that if the |
Hi @enetheru another issue I notice is that the UPDATE: I added |
Ignore this reply :
Edit: I'll just have quick look at the android.cpp code first, there is some mention of architecture in there. |
Interesting, it appears that So consumers are required to find python if they want to use those functions, we need to add a guard to the functions so that we can warn about such things. Maybe designate a module to include for consumers.. what approach would you like most? |
Another approach is to add godot-cpp/cmake to Perhaps like this: https://github.com/enetheru/godot-cpp/tree/cmake_module |
OK so after re-going over all the things again because it's been a while since I wrote that part. Short answer is yes. The toolchain or ANDROID_ variables select the compiler and architecture, and the godot-cpp code doesn't change any of that (except for OSX which I will explain shortly) I needed to match the SCons output name, so I create the The perhaps exception to the case is when I needed to match the 'universal' arch for darwin which sets the Thank for the questions. :D |
After the if I can map whatever architectire to one of the known names from godot then I will, otherwise I'll default to Edit: Here is a branch with the changes: https://github.com/enetheru/godot-cpp/tree/arch_confusion |
@@ -106,15 +104,13 @@ FILE(GLOB_RECURSE gdext_sources | |||
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.[hc]pp" | |||
# Includes the generated doc data from /doc_classes | |||
"${CMAKE_BINARY_DIR}/_generated/*.cpp" | |||
"${DOC_DATA_CPP_FILE}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Figured out that this is the reason the doc_source_generator isnt working, this GLOB pattern doent find the file since it hasnt been generated yet.
The custom command to generate the sources relies on the result being added to a target, and since only the results from the GLOB are added(missing the doc_source.cpp) the dependency chain to generate the file doesnt exist.
Moving the "${DOC_DATA_CPP_FILE}" down to the add_library as an explicit file dependency will solve it.
get_target_property( GODOT_TARGET godot-cpp::editor GODOT_TARGET ) | ||
get_target_property( GODOT_ARCH godot-cpp::editor GODOT_ARCH ) | ||
|
||
# Converts GODOT_ARCH to the old system bits for unchanged file names. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how about this trick?
math( EXPR ORCHESTRATOR_ARCH "${CMAKE_SIZEOF_VOID_P} * 8" ) # CMAKE_SIZEOF_VOID_P refers to target architecture.
Fixes #868
Fix documentation, does not appear that node docs are being incorporatedRemovecmake/godot-docs-generator
(now included in CMakeLists.txt)For now given that the godot-cpp docs generator hook isn't working, I've retained our implementation for now.