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

Unable to recreate GDExtension instance with hot reloading enabled #1673

Open
LouChiSoft opened this issue Dec 13, 2024 · 3 comments
Open

Unable to recreate GDExtension instance with hot reloading enabled #1673

LouChiSoft opened this issue Dec 13, 2024 · 3 comments

Comments

@LouChiSoft
Copy link

LouChiSoft commented Dec 13, 2024

Godot version

4.3-stable (Double precision)

godot-cpp version

4.3-stable (Double precision)

System information

Windows 10, R9 7900, RX 7900XT

Issue description

Debug compile for Windows 10, using CMake included via FetchContent and enabling hot reloading via GODOT_ENABLE_HOT_RELOAD set to ON or YES results in a Unable to recreate GDExtension instance - does this extension support hot reloading? error when rebuilding the project.

I've verified that the gdextension file has reloading enabled by adding a status message to the godot-cpp cmake file to print out the value of GODOT_ENABLE_HOT_RELOAD and make sure that it propagates from the top level which it does.

Steps to reproduce

  • Clone this project: https://github.com/LouChiSoft/GDFlecs
  • Optional: Add a status print to the godot-cpp CMakeLists.txt inside the build folder and print the value of GODOT_ENABLE_HOT_RELOAD from inside the CMakeLists to ensure that the value is set properly
  • Configure with: cmake -B ./build -DPRECISION="double"
  • Build with: cmake --build ./build --config Debug --parallel *desired thread count*
  • Run with Godot 4.3.stable.double
  • Make a code change and rebuild
  • Make Godot the active window and Unable to recreate GDExtension instance - does this extension support hot reloading? should be in the output

Minimal reproduction project

https://github.com/LouChiSoft/GDFlecs

@LouChiSoft
Copy link
Author

Hi, I was wondering if anyone had managed to have a look at this yet?

@dsnopek
Copy link
Collaborator

dsnopek commented Dec 20, 2024

It sounds like HOT_RELOAD_ENABLED isn't defined when building your extension. I had thought the cmake configuration in the 4.3 branch did do that, but I haven't had a chance to double check

@LouChiSoft
Copy link
Author

Is HOT_RELOAD_ENABLED different from GODOT_ENABLE_HOT_RELOAD? GODOT_ENABLE_HOT_RELOAD is the one in the comments at the top of the CMake file for Godot-cpp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants