Commit Graph

3896 Commits

Author SHA1 Message Date
Camilla Löwy
71e6ff386d Enable CMake policy CMP0077 where available
This will let higher-level projects override GLFW CMake options with
normal variables instead of having to use cache variables.

This means with CMake 3.13 and later you can now do:

set(GLFW_BUILD_TESTS ON)
add_subdirectory(path/to/glfw)

Instead of the more verbose:

set(GLFW_BUILD_TESTS ON CACHE BOOL "" FORCE)
add_subdirectory(path/to/glfw)
2019-05-24 14:58:54 +02:00
Camilla Löwy
98dde03ce1 Fix variable dereferencing 2019-05-24 14:58:54 +02:00
Camilla Löwy
e1d9e2ba73 Clarify Doxyfile INPUT value generation 2019-05-24 14:43:49 +02:00
Camilla Löwy
84ec99bb01 Remove pointless comments 2019-05-24 14:43:49 +02:00
Camilla Löwy
d0c3fa900a Win32: Fix non-client actions for disabled cursor
Disabled cursor mode interfered with some non-client actions.
2019-05-24 14:43:49 +02:00
Camilla Löwy
267e06a41e Win32: Remove stale comment 2019-05-24 14:43:49 +02:00
Camilla Löwy
bb6945a18a Clarify difference between time and timer in docs 2019-05-24 14:43:49 +02:00
Camilla Löwy
22a6c02a4c WGL: Add extension function macro aliases
This should have been done when the WGL extension members were moved
from the context struct to the library struct.
2019-05-24 14:43:49 +02:00
Camilla Löwy
3fd4e79adb WGL: Fix misplaced block comment 2019-05-24 14:43:49 +02:00
Camilla Löwy
56aad76b16 Add C dialect reminders to each source file
Files built for Win32 must use C89 style declarations for compatibility
with VS 2010 and 2012, which are still supported by GLFW.
2019-05-24 14:43:49 +02:00
Camilla Löwy
feaa532886 Add missing word 2019-05-24 14:43:49 +02:00
Camilla Löwy
e91d0fc499 Clarify triangle-opengl uniform uniform update
The previous way worked as mat4 is an array typedef but this way may be
clearer to people new to the linmath header.
2019-05-24 14:43:49 +02:00
Camilla Löwy
3cf7645b96 Documentation work
Most context related hint and attribute links had copypaste errors.
The GLFW_CONTEXT_RELEASE_BEHAVIOR and GLFW_CONTEXT_NO_ERROR attributes
did not have guide documentation.
2019-05-24 14:43:49 +02:00
Camilla Löwy
e4aba7feaa Convert triangle-opengl example to 3.3 core 2019-05-24 14:43:49 +02:00
Camilla Löwy
a639d6e635 Rename OpenGL triangle example to triangle-opengl 2019-05-24 14:43:39 +02:00
Camilla Löwy
d44bfe0264 Add vertex type and offsetof to OpenGL triangle 2019-05-24 14:39:35 +02:00
Camilla Löwy
f61d0916fd Convert OpenGL triangle example to C99 2019-05-19 21:10:29 +02:00
Camilla Löwy
c415c71947 Clean up glfwinfo Vulkan version output 2019-05-19 21:10:29 +02:00
Camilla Löwy
144c98bcb3 Simplify glfwinfo Vulkan enumerations 2019-05-19 21:10:29 +02:00
Camilla Löwy
fa025d8f80 Convert glfwinfo to C99 2019-05-19 21:10:29 +02:00
Camilla Löwy
700d1f28d8 Add Vulkan 1.1 support to glfwinfo 2019-05-19 21:10:29 +02:00
Camilla Löwy
0b01d850ed NSGL: Remove enforcement of forward-compatible flag
This sharp corner should have been addressed a long time ago.
2019-05-19 21:10:29 +02:00
Camilla Löwy
57bf6b2f75 Add credit
Related to #1480.
2019-05-17 19:19:07 +02:00
Camilla Löwy
ceb16cb5f1 X11: Fix CMake check for XInput headers
The X11_Xinput_* variables have been removed in recent CMake, leaving
only the X11_Xi_* set.

Related to #1480.
2019-05-17 17:26:46 +02:00
Camilla Löwy
0ccb690853 Add stable release branch to CI 2019-05-17 17:02:09 +02:00
Camilla Löwy
535491c4f3 Remove cmake from Travis CI package list
This was left over from an old workaround for Travis CI having an
ancient version of CMake pre-installed.
2019-05-17 17:02:09 +02:00
Camilla Löwy
7dc36dd7da Format Travis CI inline script for readability 2019-05-17 16:53:40 +02:00
Camilla Löwy
c0eabc594f Add descriptive names for Travis CI jobs 2019-05-17 16:15:59 +02:00
Camilla Löwy
8ee589e43b Disable examples and tests when a subproject
This changes the default value of the GLFW_BUILD_EXAMPLES and
GLFW_BUILD_TESTS CMake options to false when GLFW is being added as
a subdirectory by another CMake project.

If you want the previous behavior, force these options to true before
adding the GLFW subdirectory:

set(GLFW_BUILD_EXAMPLES ON CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS ON CACHE BOOL "" FORCE)
add_subdirectory(path/to/glfw)

Doing this is backward compatible with earlier versions of GLFW.

The GLFW_BUILD_DOCS option is left enabled as it also requires Doxygen
to have any effect, is quicker to build and is more likely to be useful
when GLFW is a subproject.
2019-05-17 16:12:52 +02:00
Camilla Löwy
cd290f767f Use CMakeDependentOption for dependent options
This replaces the earlier manual logic for dependent CMake options with
the cmake_dependent_option function from CMakeDependentOption.
2019-05-17 16:12:52 +02:00
Camilla Löwy
a255e7ace6 Move to the modern CMake project version option
This replaces the manual ad-hoc version variables we have used since
CMake 2.x (and GLFW 2.x lite).
2019-05-17 16:12:52 +02:00
Camilla Löwy
5c5963f1c0 X11: Only check for headers at build time
GLFW does not require the X11 extension libraries to build or run, so
only fail if the headers are unavailable.
2019-05-17 16:12:52 +02:00
Camilla Löwy
090b16bfae X11: Fix CMake not checking for XInput2 headers
Fixes #1480.
2019-05-17 16:12:52 +02:00
Camilla Löwy
42a3e4434f Update changelog and add credit 2019-05-17 16:12:52 +02:00
Konstantin Podsvirov
15af302f77 Fix use of absolute path in INSTALL_INTERFACE
Closes #1470.
2019-05-17 16:12:52 +02:00
Camilla Löwy
be71147ad5 Documentation work
The monitor content scale was missing from the monitor properties
paragraph.
2019-05-17 16:12:52 +02:00
Camilla Löwy
ff7d42a55e Update Travis CI build
- Migrate to Xenial
 - Use whitelisted PPA instead of hardcoded deb URL
 - Only add X11 dependencies for X11 builds
 - Only set sudo on matrix entries
2019-05-17 16:12:52 +02:00
Emmanuel Gil Peyrot
599fb3de34 Wayland: Remove wl_shell support
This protocol is part of the core Wayland, but it is pretty badly
designed and is missing quite a few features, and is in the process of
being phased out in compositors.  Its support in GLFW requires
duplicating pretty much every single window management codepath.

This bumps the required compositor versions to the ones which have
implemented xdg-shell, approximately two years ago, which seems sensible
to me.
2019-04-20 10:05:15 +02:00
Camilla Löwy
a337c56848 Start 3.4 2019-04-16 23:08:39 +02:00
Camilla Löwy
b079610962 Documentation work 2019-04-16 01:40:30 +02:00
Camilla Löwy
186e9372d5 Add credit 2019-04-16 01:05:57 +02:00
Camilla Löwy
ab118b2529 Fix copyright years (somewhat) 2019-04-15 20:50:00 +02:00
Camilla Löwy
1f91697cd3 Win32: Fix VS static analysis warnings 2019-04-15 15:37:15 +02:00
Camilla Löwy
334a485968 Win32: Fix potential buffer overrun
Found with VS static analysis.
2019-04-15 15:35:19 +02:00
Camilla Löwy
0e74265426 Cocoa: Fix cursor hover test 2019-04-15 14:52:17 +02:00
Camilla Löwy
3c3981a4f0 Cocoa: Fix coordinate transformations
Window relative mouse locations provided via NSWindow and NSEvent are
based at 0,1 while screen relative locations use 0,0.  Incorrect
handling of this had crept into other coordinate transformations.  Note
that most of these errors canceled each other out, so the reported
positions of windows, monitors and work areas are unaffected.  This
corrects the cursor position for glfwGetCursorPos and glfwSetCursorPos.

Fixes #1461.
2019-04-15 14:52:17 +02:00
Camilla Löwy
d0b7f539e2 Add full screen toggling to cursor test 2019-04-15 14:52:17 +02:00
Camilla Löwy
62d296992e Add min/max corner placement to cursor test
Related to #1461.
2019-04-15 14:52:17 +02:00
Camilla Löwy
5f4e66b21a Add cursor position rountrip key to cursor test
Related to #1461.
2019-04-15 14:52:17 +02:00
Camilla Löwy
f03614277d Update cursor test tracking when enabling cursor
Related to #1461.
2019-04-15 14:52:17 +02:00