Commit Graph

265 Commits

Author SHA1 Message Date
Camilla Löwy
cc9168bda1 Win32: Fix build on VC++ 2008
This is not official support for VC++ 2008.

Fixes #821.
2016-12-03 20:06:23 +01:00
Camilla Berglund
fef21361c5 OSMesa: Cleanup
Fixes formatting, semantics and documentation.  Adds
glfwGetOSMesaContext.  Adds support for OSMesa context attributes.
Updates changelog and credits.  Adds license and copyright headers.
Removes superfluous code (the shared code provides many conveniences).
Removes loading of unused OSMesa functions.  Removes empty platform
structs.  Fixes version string format.  Removes build dependency on
the OSMesa header and library (only the library is needed and only at
runtime).

Closes #850.
2016-11-09 01:36:21 +01:00
Jason Daly
368fa9475d Add headless OSMesa backend
Allows creation and drawing to in-memory OpenGL contexts.

This backend does not provide input.

Related to #850.
2016-11-09 01:23:43 +01:00
Camilla Berglund
e94d16667b Cocoa: Add basic support for Vulkan via MoltenVK
This adds basic support for MoltenVK, a Vulkan implementation on top of
Metal, on macOS 10.11 and later.  It looks for MoltenVK in the process
via RTLD_DEFAULT symbol lookup if _GLFW_VULKAN_STATIC is disabled.

glfwCreateWindowSurface now creates and sets a CAMetalLayer for the
window content view, which is required for MoltenVK to function.

You must help CMake find MoltenVK for the Vulkan test to be built.

Fixes #870.
2016-11-01 21:39:54 +01:00
Camilla Berglund
017162e3fd Cocoa: Stop searching for system frameworks 2016-11-01 21:34:26 +01:00
Camilla Berglund
53fafad915 Start 3.3 2016-08-18 23:55:49 +02:00
Camilla Berglund
7c3706763a Cleanup
Cleanup of 8bdb105897.

Add build macro to configuration header and documentation.  Add
corresponding CMake option.  Add change log entry and credit.  Add
loader static library to link dependencies and add detection to
FindVulkan.cmake.
2016-08-05 01:00:08 +02:00
Alexandre Pretyman
d3775b973e Fix clobbering of CMAKE_MODULE_PATH
Closes #822.
2016-08-04 18:14:44 +02:00
Camilla Berglund
4bccb3dc9f Start 3.2.1 2016-06-15 01:35:05 +02:00
Camilla Berglund
d203ccbf5e Add workaround for missing headers in legacy MinGW 2016-06-02 14:21:56 +02:00
Camilla Berglund
c4c99727c5 Add dynamic loading of HIToolbox.framework
Fixes #717.
2016-05-23 15:21:56 +02:00
Camilla Berglund
ef80beab81 Add run-time context creation API selection
Fixes #145.
2016-05-04 17:00:07 +02:00
Camilla Berglund
0365f1ec82 Fix warning when building for X11 on Cygwin 2016-03-18 10:32:14 +01:00
Camilla Berglund
22a09a53e6 Centralize documentation generation logic 2016-02-26 11:38:36 +01:00
Jonas Ådahl
cb08dc574c wayland: Implement 'DISABLED' cursor mode
This implements support for the 'DISABLED' cursor mode, which
effectively means locking the pointer to the surface. The cursor is also
explicitly hidden.

This adds two new build dependencies: wayland-scanner and
wayland-protocols.

Closes #708.
2016-02-22 12:36:34 +01:00
Jonas Ådahl
c7f3bd0d22 wayland: Use modules from ECM for finding deps
We were using a copied FindWayland cmake script, but lets use the ones
from ECM (extra-cmake-modules) instead. This is more important in the
future when building extensions from wayland-protocols.
2016-02-22 12:34:51 +01:00
Camilla Berglund
bda18bc899 Remove XInput2 XI_Motion support
Sadly, this interferes with the Steam overlay.

Fixes #304.
2016-02-21 18:32:57 +01:00
Camilla Berglund
9b75bffc88 Add basic Vulkan support
Added GLFW_INCLUDE_VULKAN.  Added glfwVulkanSupported,
glfwGetRequiredInstanceExtensions, glfwGetInstanceProcAddress,
glfwGetPhysicalDevicePresentationSupport and glfwCreateWindowSurface.
Added port of LunarG SDK tri example.
2016-02-16 14:58:58 +01:00
Zbigniew Mandziejewicz
f22edf13dc Simplify file generation paths 2016-02-02 06:10:26 +01:00
Camilla Berglund
7f7ad39e15 CMake target installation fixes 2016-02-02 06:10:22 +01:00
Nicholas Vitovitch
453631773e Export transitive dependencies for static library 2016-02-02 06:00:18 +01:00
Nicholas Vitovitch
23d34747f4 Rename export targets file to glfw3Targets.cmake 2016-02-02 06:00:18 +01:00
Zbigniew Mandziejewicz
6466c9d406 Fix CMake file install paths
Fixes #460.
Fixes #483.
Fixes #606.
2016-02-02 05:56:52 +01:00
Camilla Berglund
d2d57c70e2 Fix pkg-config file generation regression
Fixes regression cased by 37c93ba031.

Fixes #664.
Closes #679.
2015-12-30 21:09:40 +01:00
Camilla Berglund
37c93ba031 Compiler flag cleanup 2015-12-15 22:37:23 +01:00
Camilla Berglund
9c315412e1 Add glfwGetKeyName
Fixes #464.
2015-11-09 14:46:09 +01:00
Camilla Berglund
42efd26698 Remove support for Universal Binaries 2015-10-18 19:34:33 +02:00
Camilla Berglund
074aafa814 Formatting 2015-10-14 13:43:07 +02:00
Camilla Berglund
22eca139fb Remove compile-time client library selection 2015-10-14 13:43:05 +02:00
Camilla Berglund
bf7cce25dc Replace external context and client API headers 2015-10-13 00:48:18 +02:00
Camilla Berglund
95a07f3340 Start 3.2 2015-10-12 21:59:49 +02:00
Camilla Berglund
7e13a4909e Make all EGL functions dynamically loaded 2015-08-25 02:24:42 +02:00
Camilla Berglund
6d5753c548 Added support for AMD PowerXpress override.
Generalized _GLFW_USE_OPTIMUS_HPG to _GLFW_USE_HYBRID_HPG to reflect the
change.

Fixes #520.
2015-05-29 13:15:32 +02:00
Camilla Berglund
3c52cb1790 Simplified glXGetProcAddress logic.
Removed compile-time selection of GLX entry point retrieval mechanism.
Made dlopen a required dependency.

This is a stopgap solution until we start requiring GLX 1.4.
2015-05-27 02:20:55 +02:00
Camilla Berglund
8309e0ecb0 Use DwmFlush when DWM is enabled.
Use DwmFlush instead of WGL_EXT_swap_control when desktop compositing is
enabled, to avoid the jitter of DWM and WGL vsync fighting.

Fixes #516.
2015-05-21 18:28:53 +02:00
Camilla Berglund
c9ae3f4efe Fixed build regression.
Fixes regression caused by 5f7f6319eb.
2015-05-14 17:00:03 +02:00
Camilla Berglund
155da0cd09 Unified librt and libm logic. 2015-05-14 16:15:50 +02:00
Camilla Berglund
b4f3adb6ee Removed no-op librt illogic. 2015-05-14 16:11:18 +02:00
Camilla Berglund
6b232bd8f6 Updated minimum required CMake version to 2.8.12.
All major package systems seem to have caught up.
2015-05-14 15:59:53 +02:00
Camilla Berglund
323d4a484d Simplified libdl logic. 2015-05-13 16:33:29 +02:00
Camilla Berglund
6af25fb423 MinGW flag logic cleanup. 2015-05-13 16:33:29 +02:00
Nicholas Vitovitch
35b6c72634 Simplifies CMake version checks. 2015-05-13 16:33:29 +02:00
Camilla Berglund
5f7f6319eb Made global setting of CMake module path explicit. 2015-05-13 16:14:01 +02:00
Camilla Berglund
5268914b3f Started 3.1.2. 2015-03-20 00:16:24 +01:00
Camilla Berglund
5f21e213df Made Xxf86vm optional at compile-time. 2015-02-16 15:40:41 +01:00
Camilla Berglund
f4c127f75a Made XInput2 optional at compile-time.
This is required for RHEL 5, CentOS 5 and Cygwin-X.

Fixes #314.
2015-02-16 15:40:39 +01:00
Camilla Berglund
ead8a1c333 Started 3.1.1. 2015-01-25 10:42:01 +01:00
Camilla Berglund
023f337735 Fixed IDE folder issues for VC++.
Fixes #328.
2015-01-07 00:58:54 +01:00
Camilla Berglund
fe7a4eb4ff Improved CMake config file generation. 2015-01-06 01:42:01 +01:00
Camilla Berglund
2b57d176df Added workaround for CMP0042. 2015-01-06 00:02:43 +01:00
Camilla Berglund
a6ba9d6bcd Fixed framework variables not marked as advanced. 2014-12-11 16:08:56 +01:00
Camilla Berglund
1dc84989bf Made pkgconfig variable use consistent. 2014-12-11 16:08:56 +01:00
BrandonSchaefer
cfb7d2f036 Start with the skeleton code for Mir support. 2014-11-10 02:00:14 +01:00
Camilla Berglund
fb90d5b0ec Added exploit mitigation linker flags for MinGW.
Closes #349.
2014-10-07 19:00:31 +02:00
Camilla Berglund
2a255e49e2 Made static library build with -fPIC for Rust.
Fixes #199.
2014-10-07 12:48:01 +02:00
Camilla Berglund
4918514eaf Added support for _NET_WM_FULLSCREEN_MONITORS.
This allows EWMH full screen windows to correctly cover monitors that
overlap other monitors, such as an Oculus Rift mapped onto a section of
a larger monitor.

Fixes #175.
2014-09-22 13:31:59 +02:00
Camilla Berglund
82dc6c8b8f Removed option to disable loading of winmm. 2014-08-31 13:51:21 +02:00
Camilla Berglund
dd043d737f Use CMake threading variable for Wayland. 2014-08-11 20:27:48 +02:00
Camilla Berglund
6e0ea02f17 Quoted all CMake paths with substitution.
Fixes #258.
2014-08-11 20:26:37 +02:00
Ricardo Vieira
3eae79f6e0 Fixed Wayland EGL pkg-config module name.
The wayland-egl module also includes wayland-client.

Fixes #317.
2014-07-01 10:37:41 +02:00
Jonas Ådahl
76f78cf123 Fixed name of xkbcommon pkg-config module. 2014-07-01 10:34:16 +02:00
Jonas Ådahl
9ac854b7bb wayland: Add keyboard support
Adds libxkbcommon as a dependency when enabling the Wayland backend.
2014-06-29 23:21:06 +02:00
Jonas Ådahl
7d373477ed wayland: Build with -pthread 2014-06-29 23:18:40 +02:00
Camilla Berglund
20b7ac0518 Formatting. 2014-06-12 22:08:37 +02:00
Camilla Berglund
2f30d3e5a3 Only generate Doxyfile if generating docs.
Fixes #307.
2014-06-11 23:07:55 +02:00
Camilla Berglund
f1cb1f8420 Disabled Wayland on OS X. 2014-04-08 18:24:02 +02:00
Camilla Berglund
6acbfe863d Fixed option value. 2014-04-08 16:07:20 +02:00
Jonas Ådahl
8e99996321 Introduce experimental Wayland backend
This patch introduces a new backend that enables GLFW applications to
run on Wayland. For now, only output is supported (windowed and
fullscreen). Pointer cursor management, input devices, clipboard etc are
not supported yet.

There are some concepts that can not be supported, more specifically
glfwSetWindowPos, glfwGetWindowPos and glfwSetCursorPos, as they are not
supported by Wayland.

This patch also changes the time and joystick implementations used by the
X11 backend to be shared between the Wayland backend and the X11 backend.
2014-04-08 16:07:20 +02:00
Camilla Berglund
2e8d17e7b7 Fixed MinGW detection. 2014-03-25 11:46:33 +01:00
urraka
40c04a7565 Added support for custom system cursors.
This adds 3 functions to the GLFW API: glfwCreateCursor,
glfwDestroyCursor and glfwSetCursor.
2014-03-20 11:30:27 +01:00
Camilla Berglund
d0d2332193 WINVER fixes for MinGW and VC++. 2014-02-10 21:12:20 +01:00
Camilla Berglund
0cd31782d4 Enabled pkg-config file generation on MinGW.
Fixes #220.
2014-02-10 15:31:57 +01:00
Camilla Berglund
84377c6175 Added _GLFW_USE_RETINA. 2014-02-10 13:45:13 +01:00
Camilla Berglund
7e806a8567 Started 3.1. 2014-01-01 15:29:57 +01:00
Camilla Berglund
6c12ffc902 Added the GLFW_BUILD_DOCS CMake option. 2013-11-07 18:23:54 +01:00
Camilla Berglund
23ff318f59 Replaced find_library with CMAKE_DL_LIBS. 2013-10-13 16:24:33 +02:00
Camilla Berglund
aab08712dd Fixed zero refresh rate on some monitors. 2013-10-09 19:45:39 +02:00
Andrew Corrigan
34f1c298b6 config.h.in --> glfw_config.h.in 2013-10-04 09:41:08 -04:00
Camilla Berglund
59422ec980 Started 3.0.4. 2013-09-24 21:36:11 +02:00
Camilla Berglund
4ff8095dee Workaround for libXi and CMake 2.8.7. 2013-09-13 14:42:45 +02:00
Camilla Berglund
6770ae0556 Added workaround for legacy MinGW.
When building on legacy MinGW, WINVER and UNICODE need to be defined
before the inclusion of stddef.h (by glfw3.h), which is itself included
before win32_platform.h.
2013-09-13 12:26:55 +02:00
Camilla Berglund
8c1588b14e Started 3.0.3. 2013-08-26 16:22:06 +02:00
Camilla Berglund
735bc2d815 Added NvOptimusEnablement. 2013-08-07 18:11:58 +02:00
Camilla Berglund
1c80e99008 Added forcing of swap interval on DWM composition. 2013-07-08 00:32:23 +02:00
Camilla Berglund
10017b27bb Cleanup. 2013-06-17 12:46:51 +02:00
Camilla Berglund
1de60a4ff7 Started 3.0.2. 2013-06-17 12:46:44 +02:00
Camilla Berglund
01ccc56423 Added missing headers to library target. 2013-06-17 10:31:25 +02:00
Camilla Berglund
305c66db31 Cleanup. 2013-06-17 10:25:17 +02:00
Camilla Berglund
d31322cdcd Added option for disabling install. 2013-06-16 13:31:39 +02:00
Niklas Behrens
bff77eeed1 Fix variable name for xf86vmode lib
CMake bug 0006976 has been fixed. However, the variable name is
different than expected.
2013-06-16 03:17:20 +02:00
Camilla Berglund
c38f33adda Started 3.0.1. 2013-06-13 12:05:23 +02:00
Camilla Berglund
3274dc9a61 Added internal docs. 2013-06-12 15:03:56 +02:00
Camilla Berglund
15ed715f4e Moved public headers to the GLFW directory. 2013-05-22 22:46:34 +02:00
Camilla Berglund
f68f28ba0b Formatting. 2013-05-20 13:12:13 +02:00
Camilla Berglund
583c8a8e8e Added XInput dependency to pkgconfig file. 2013-05-20 13:06:09 +02:00
Camilla Berglund
97d71393cc Made CMake file require XInput. 2013-05-19 08:16:19 +02:00
Camilla Berglund
64630af362 CMake config file cleanup. 2013-05-14 01:03:51 +02:00
Lambert Clara
f6eccf145b Add glfwConfig module.
This module allows cmake projects to find glfw with FIND_PACKAGE.
2013-05-12 16:55:33 +02:00
Camilla Berglund
807f1622ea Added threading library to link dependencies.
Since the GLX backend now uses explicit pthread calls, linking needs to
be explicit as well.
2013-05-07 21:39:09 +02:00
Camilla Berglund
5cf56a442c Removed APPLE as UNIX is true on OS X. 2013-05-01 17:11:58 +02:00