40 Commits

Author SHA1 Message Date
Alexandre Almeida
9a8d73e6c3
Fix GLFW runtime platform detection (#3863)
* Fix GLFW runtime platform detection

* Add libwayland-dev package to workflows

* Add libxkbcommon-dev package to workflows

* Add libwayland-bin package to codeql.yml

* Add libwayland-client0 and libwayland-cursor0 packages to codeql.yml

* Use libwayland-dev in codeql.yml

* Add libxkbcommon-dev to codeql.yml

* Remove libwayland-bin from linux.yml and linux_examples.yml (libwayland-dev includes it as a dependency)

---------

Co-authored-by: Ray <raysan5@gmail.com>
2024-03-14 16:54:39 +01:00
Alexandre Almeida
6589311a0b
Update GLFW to 3.4 (#3827)
* Update GLFW to 3.4 (draft)

* Add _glfwConnectNull() function to rglfw.c

* Update rglfw.c

* Update Makefile

* Makefile: Replace USE_WAYLAND_DISPLAY with DISABLE_WAYLAND

* Revert "Makefile: Replace USE_WAYLAND_DISPLAY with DISABLE_WAYLAND"

This reverts commit 9e79abde786bf797d8133fd95e8a475cf6e2b066.

* GlfwImport.cmake: Replace GLFW_USE_WAYLAND with GLFW_BUILD_WAYLAND

* Update rglfw.c

* Output platform selected by GLFW to TRACELOG

* GLFW has removed Mir support
2024-02-29 18:29:32 +01:00
Random
f14955512f
fix issue #2728 (#2731)
* fix issue #2728

* updated gamecontrollerdb: fixes GLFW warning due to invalid entry
2022-09-30 10:09:49 +02:00
Ray
4fe6f885f7 Update gamepad mappings with latest gamecontrollerdb, fix #2725 2022-09-29 11:23:25 +02:00
Ray
7f5567eec0 Reviewed GLFW compilation requirements on Linux: _GNU_SOURCE
Reasons to NOT define `_GNU_SOURCE`:

 - access to lots of nonstandard GNU/Linux extension functions
 - access to traditional functions which were omitted from the POSIX standard (often for good reason, such as being replaced with better alternatives, or being tied to particular legacy implementations)
 - access to low-level functions that cannot be portable, but that you sometimes need for implementing system utilities like mount, ifconfig, etc.
 - broken behavior for lots of POSIX-specified functions, where the GNU folks disagreed with the standards committee on how the functions should behave and decided to do their own thing.
2022-08-28 15:48:12 +02:00
Ray
568fe42cb1 Reviewed GLFW issue with ppoll() function 2022-08-28 15:37:09 +02:00
Ray
10ae54379a Update posix_poll.c 2022-08-28 15:25:34 +02:00
Ray
9e0e08cba4 WARNING: UPDATED GLFW to latest master branch!
WARNING: This could be a BREAKING CHANGE for some platforms! I'm afraid something could be wrong on `rglfw.c` module.

To be able to compile on Windows I had to modify `glfw/src/platform.c` line 74. I couldn't manage to compile without that change, help is welcome!
2022-08-28 14:16:51 +02:00
Daijiro Fukuda
7bb8ffc29e
Win32: resolve some symbols re-definition of windows.h in glfw3native.h (#2643)
* Win32: resolve some symbols re-definition of windows.h in glfw3native.h

This reflects GLFW's fix: https://github.com/glfw/glfw/issues/1348

This enables to build with a external GLFW containing the
following fix:

* 05f6c13d11

Currently, glfw3native.h of the internal GLFW is customized at
2feea87b61

This fix is compatible with the current customized glfw3native.h.

This fix enables us to update it to the latest and remove the
customization.

* Win32: remove unneeded typedef
2022-08-21 11:44:16 +02:00
Chris
89f031673b
Fix mappings.h issue from glfw update (#1995)
- Ran GenerateMappings.cmake to restore mapping changes
2021-09-19 20:33:18 +02:00
Ray
97b074ac26 Update GLFW to latest version #1817 2021-06-08 21:02:24 +02:00
Chris
320732ae6b
Update mappings.h in glfw using GenerateMappings.cmake (#1505) 2021-01-02 21:46:39 +01:00
Ray
63d33d7a7a Update CMakeLists.txt 2020-12-02 08:27:43 +01:00
Ray
59be7b9c29 Update CMakeLists.txt 2020-12-01 23:21:35 +01:00
Ray
83916bd3c2 Updated GLFW to latest 3.4 (github master - 16Nov2020)
WARNING: Some CMake files not changed
WARNING: glfw_native.h contains custom changes
2020-11-30 09:11:22 +01:00
coderoth
c05dbb4581
Updated joystick mappings with latest version of gamecontrollerdb (executed GenerateMappings.cmake), so that raylib can identify more joysticks (#1381) 2020-09-19 21:51:32 +02:00
Ray
b4293edd70 Update GLFW to latest master 2020-02-06 16:30:48 +01:00
Ahmad Fatoum
2a64aa2abd external: glfw: reinstate export of GLFW_PKG_{DEPS,LIBS}
We were doing this before, but it was deleted during the
last GLFW update. Readd it to fix the associated macOS CI failure.

Fixes: ea5cd42e6 ("Update GLFW to version 3.4")
2019-12-05 00:29:24 +01:00
Ray
ea5cd42e6c Update GLFW to version 3.4 2019-12-01 13:30:02 +01:00
Ahmad Fatoum
4d8b9e595a
external: glfw: Revert "Added WinMM library"
This reverts commit 4773de26a50c29ae918e306c9936ad9d4ebf80aa.

which adds -lwinmm at the wrong place. It should be in the raylib
linker flags, not GLFW's.
2019-05-15 08:14:24 +02:00
Ray
4773de26a5 Added WinMM library
Required for high resolution timer
2019-05-07 22:56:38 +02:00
Ahmad Fatoum
36d8a648f0
external: glfw: reinstate export of GLFW_PKG_{DEPS,LIBS}
We were doing this before, but it was deleted during the
last GLFW update. Readd it to fix the associated macOS CI failure.

Fixes: cd934c9f6 ("Update GLFW to 3.3.1")
2019-05-04 22:28:21 +02:00
Ray
9835be7b7a Remove unnecesary GLFW deps (used by examples) 2019-04-23 14:50:58 +02:00
Ray
cd934c9f66 Update GLFW to 3.3.1 2019-04-22 19:00:43 +02:00
Ahmad Fatoum
c3d2b1b184 glfw: Update GLFW to current master
glfw/glfw@5595fa3ae6 implements a proper fix for the macOS Mojave
problem of OpenGL windows not being rendered until moved or manually
updated.

Pull in the current master and rebase the three patches we have on top:
- two commits we have for reuse of the GLFW CMake build system for Wayland
It hasn't yet to be acknowledged upstream.
- one commit removing #include <windows.h> in glfw3native.h to avoid
duplicate declarations.

Fixes #655 and #665.
2019-01-08 09:03:22 +01:00
Ray
717cf77129 Corrected issue with dirent.h inclusion...
...and MacOSX OBJC types definition...
2018-10-08 18:38:39 +02:00
Ray
2652e7d1c1 Avoid multiple gl.h inclusions
Expose native Cocoa Window again...
2018-10-08 18:08:39 +02:00
Ray
2feea87b61 Multiple changes, check description
REVIEW: Reorganized global variables for consistency
ADDED: GetWindowHandle() to get native window handle
ADDED: GetDirectoryFiles() to get files list for a DIR
2018-10-08 12:29:02 +02:00
Ahmad Fatoum
286c41af52
Sync with upstream GLFW pull request
The GLFW tree distributed with raylib has two modifications:

- GLFW_PKG_{DEPS,LIBS} are exported to PARENT_SCOPE, so we can use them
  in our pkg-config file
- An intermediary glfw_objlib target is added, so we can reexport GLFW
  symbols from libraylib.a

rglfw can fix the second point, but for Wayland usage, we would have to
replicate protocol generation, so we just leverage GLFW's existing
support instead.

To make maintenance easier, I have submitted a pull request for
including these modifications to upstream GLFW.
And to make that one easier, this patch dog-foods the modifications,
so raylib users can help find regressions. :-)

glfw/glfw#1307
2018-07-29 23:56:16 +02:00
Ahmad Fatoum
61747508b0
CMake: Reuse libraries found by glfw CMake config
if (${PLATFORM} MATCHES "Desktop")
  target_link_libraries(${RAYLIB}_shared glfw ${GLFW_LIBRARIES})

was never true because PLATFORM STREQUAL "PLATFORM_DESKTOP"...

This fixes #551 and makes the changes suggested in #552 (commited as 965cc8ab)
unnecessary.
2018-07-03 21:35:27 +02:00
Ray San
b588af5ce2 Corrected breaking build 2018-06-12 10:45:00 +02:00
Ray
c7d6a44e33 Update GLFW to latest dev version (master branch) 2018-06-02 18:26:29 +02:00
Ahmad Fatoum
0f1aaa474a
CMake: (Properly) build glfw separately with CMake
This reverts commit 2d6fb5c628068757387525e190c3afdbe33ae9c6,
and adds a fix for Alien::raylib's test failures.

The tests failed because the resulting static library didn't reexport
GLFW symbols. As a fix, we now have GLFW create a CMake "object library"
target that we can link with both the static and shared raylib.

This is arguably ugly... Proper fix would probably be a GLFW upstream
object library target.

Closes #536.
2018-05-12 18:38:20 +02:00
Ahmad Fatoum
0df501be91
Add GLFW source tree to src/external
We need the CMake stuff for wayland configuration.
Otherwise, we would have to replicate that ourselves.
This is the full 7ef34eb06de54dd9186d3d21a401b2ef819b59e7 tree except
for tests/ examples/ and docs/
2018-05-10 23:07:26 +02:00
raysan5
3b4a64f2d6 Updated GLFW library to latest version 2018-03-03 15:58:44 +01:00
Ahmad Fatoum
f955b2255d
GLFW: Fix build error on Linux < v2.6.39
Cherry-pick from upstream glfw/glfw#1196
Found in CPANtesters test of Alien::raylib:
http://www.cpantesters.org/cpan/report/d956d128-0339-11e8-b0d1-b6c4abd39192
2018-01-27 14:53:04 +01:00
raysan5
5ae2c0d15b Added Wayland support
Updated to latest GLFW library and working on Wayland support, still
looking how to implement it on raylib because it just exposes
PLATFORM_DESKTOP and defaults to X11 windowing system on Linux...
2017-12-09 19:05:42 +01:00
Ray San
1be826fb16 Removed useless file 2017-11-22 17:30:09 +01:00
Ray San
e2e4b8df28 Remove unneeded glfw dependencies
Only required by examples
2017-11-17 18:42:39 +01:00
Ray San
9c65caea8c Added GLFW sources to raylib
Compiling GLFW library with raylib avoids external dependencies, this
way we solve version problems in some platforms
2017-11-13 12:09:41 +01:00