v3.4/glfw: add support for GLFW version 3.4 (and future 3.4.x versions)
The initial release of GLFW v3.4 was released a few days ago, see https://github.com/glfw/glfw/releases/tag/3.4. I'm opening this issue to keep track of the work of adding the necessary support here.
v3.3/glfw is its own module, separate from the top-level module that has the older versions v3.{0,1,2}/glfw. That seems to be working well, so I expect we can repeat that pattern and also have v3.4/glfw as another nested module.
Agreed. That is a nice concept as it means that any potential dependencies won't have to be pulled in from other glfw versions in this package.
It looks like https://github.com/go-gl/glfw/issues/272 might be revolved together with this.
Hey all, I was able to hook the bindings from the v3.3 folder into glfw v3.4 with minimal changes to the code. However, I had to rely on the built in CMake build system in the upstream repo because it does some weird things to generate the wayland-protocol deps.
I managed to get the linux+wayland build tags working fine, ~~but there seems to be some major issues with crashing the entire login session on Gnome DE whenever a glfw app is closed. It might be worthwhile to disable wayland atm until these issues are resolved.~~
I haven't tested any other build configs, but I can share what I have so far if anyone would like to test on their local environment.
Edit: The issue with Gnome seems to be a bug within Gnome and nothing to do with GLFW. They have a fix in place on their main branch and 🤞hopefully, the fix will be included in their upcoming release at the end of this week.
Hi @Geo25rey. Thanks for looking into this, we really appreciate it (and sorry for the late reply). About the Wayland-protocol generation, I wonder if they are just doing something similar to what we are doing in scripts/generate-wayland-protocols.sh? Maybe we can patch our script to be compatible instead of needing CMake? If you want to, you could open a draft PR and we can get more eyes looking at it :)
About the Wayland-protocol generation, I wonder if they are just doing something similar to what we are doing in scripts/generate-wayland-protocols.sh?
They use CMake for dependency management and this includes Wayland Protocol headers.
Maybe we can patch our script to be compatible instead of needing CMake?
I tried to do that, but many of the names are in new and different formats and would certainly break the script for the previous GLFW 3.3 version.
If you want to, you could open a draft PR and we can get more eyes looking at it :)
I will probably get to it Friday or Saturday.
I tried to do that, but many of the names are in new and different formats and would certainly break the script for the previous GLFW 3.3 version.
You might be able to copy it and adapt it to v3.4 but still keep the old one for v3.3.