Camilla Löwy
8a5fd0c5a4
Replace ad-hoc CMake code with DEFINE_SYMBOL
...
This target property does what we were doing manually.
2019-12-15 18:37:56 +01:00
Camilla Löwy
a5ed740d9d
Fix use of CMake 3.13 command target_link_options
2019-12-15 18:37:56 +01:00
Camilla Löwy
a264d32987
Replace CMake list variables with target_sources
2019-12-15 18:37:56 +01:00
Camilla Löwy
2551829f75
Win32: Add VERSIONINFO resource to GLFW DLL
...
This will let people see the API version in the Explorer property box.
2019-12-11 21:02:08 +01:00
Camilla Löwy
59055d585f
Update minimum required CMake version to 3.1
2019-12-09 23:48:26 +01:00
Camilla Löwy
c194193797
Replace CMake generator expression with variable
...
Generator expressions are amazing but best used in moderation.
2019-12-09 23:35:51 +01:00
Camilla Löwy
9dc365f192
Merge GCC/Clang specific CMake blocks
2019-12-09 23:35:51 +01:00
Camilla Löwy
197193ac0b
Fix source list for Objective-C fix
2019-12-09 23:35:51 +01:00
Camilla Löwy
9486ec0c02
Fix source list for -Wdeclaration-after-statement
...
The context creation files were not included on platforms other than
Win32.
2019-12-09 23:35:50 +01:00
Camilla Löwy
bc7b19cbd1
Remove tab character
2019-12-09 23:35:50 +01:00
Camilla Löwy
f6d44cedfd
Trust CMake to do the right thing for static libs
...
CMake understands what private library dependencies for a static library
means and handles it correctly.
2019-12-09 23:35:40 +01:00
Camilla Löwy
33683ec60e
Remove stray characters from hardcoded CFLAGS
...
The additional '>' characters were appended to the compiler option.
Related to #1576 .
2019-10-29 12:04:47 +01:00
Camilla Löwy
04f7f55f07
Cleanup
...
Related to #1585 .
2019-10-29 12:04:47 +01:00
Pablo Prietz
4d0ae4ffa7
Fix CMake 3.0 - 3.6 support regression
...
Replaces `VERSION_GREATER_EQUAL` with `VERSION_EQUAL OR
VERSION_GREATER`. `VERSION_GREATER_EQUAL` was only added in CMake 3.7.
Fixes #1584 .
Closes #1585 .
2019-10-29 12:04:46 +01:00
Guillaume Racicot
8f852e0833
Enable C99 explicitly with CMake where available
...
This enables compilation as C99 where supported by the compiler.
A workaround with per-compiler hardcoded flags is used for CMake 3.0,
which does not support the C_STANDARD target property.
Fixes #1560 .
Closes #1576 .
2019-10-16 02:33:12 +02:00
Camilla Löwy
3ec8f4a7f5
Win32: Disable dynamic libgcc for MinGW DLL
2019-10-03 21:05:49 +02:00
Ave Milia
2e039d9275
CMake: remove -DGLFW_DLL on non-Windows targets
...
When using GLFW with CMake and installed GLFW binaries, `-DGLFW_DLL` is
passed on Linux, which should not happen.
Closes #1530 .
2019-07-22 21:37:22 +02:00
Camilla Löwy
b430bc4935
Cocoa: Fix internal symbol hiding for dylib
...
The default symbol visibility was not set to hidden on macOS.
2019-07-16 23:14:16 +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
Konstantin Podsvirov
15af302f77
Fix use of absolute path in INSTALL_INTERFACE
...
Closes #1470 .
2019-05-17 16:12:52 +02:00
Camilla Löwy
1d95acdf56
Cocoa: Fix detection of Clang
2019-02-14 00:19:45 +01:00
schraf
2e70950c0f
Fix quoting of CMAKE_C_COMPILER_ID
...
I was getting an error in this cmake file when using 3.10.2 on linux.
Here was the error message I was getting:
[cmake] CMake Error at external/glfw/src/CMakeLists.txt:82 (if):
[cmake] if given arguments:
[cmake]
[cmake] "STREQUAL" "GNU" "OR" "STREQUAL" "Clang"
[cmake]
[cmake] Unknown arguments specified
Adding the quotes around the cmake variables seems to do the trick. That
was also done with the STREQUAL condition earlier on line 66.
Closes #1411 .
2019-02-14 00:19:45 +01:00
Rolf Eike Beer
f9923e9095
Use GNUInstallDirs for install destinations
...
This has the advantage that the user may override e.g. the include
location, and the correct libdir (lib, lib64, lib/something) is
automatically determined.
Closes #1367 .
2018-12-03 19:28:31 +01:00
Emmanuel Gil Peyrot
cc805c0963
Mir: Remove this experimental backend
...
As of the release of Mir 1.0, libmirclient has been deprecated[1] and
its developers recommend clients using it to switch to Wayland. This
patch removes support for libmirclient and instruct users to use the
experimental Wayland backend instead.
[1] https://discourse.ubuntu.com/t/mir-news-28th-september-2018/8184
2018-10-05 11:59:26 +02:00
Emmanuel Gil Peyrot
dcd2a19d90
Wayland: Add support for xdg-decoration
...
This allows compositors which prefer to draw the decorations around
clients to do so, rather than letting GLFW draw its own decorations.
The appearance is thus entirely subject to the compositor used, but
should generally be better than the current solid colour decorations we
have, which we continue to use when the compositor doesn’t support this
protocol or tells us to draw the decorations ourselves.
This new protocol has been tested against wlroots’s rootston compositor.
Fixes #1257 .
2018-10-01 16:37:24 +02:00
Greg V
0a3c4f5d80
Add support for Wayland on FreeBSD and other OSes
2018-03-27 22:03:37 +02:00
Emmanuel Gil Peyrot
79e16baca3
Add wp_viewporter support
2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot
0d5f7a9eab
Wayland: Add xdg-shell to the build system
2018-01-29 03:59:47 +01:00
Camilla Löwy
973bf29622
Remove use of non-standard function strdup
...
Related to #873 .
2018-01-17 11:56:35 +01:00
Emmanuel Gil Peyrot
10c18f8124
Use quotes consistently for wayland-protocols
2017-12-20 04:53:42 +01:00
Emmanuel Gil Peyrot
65166858ff
Wayland: Add support for the idle-inhibit protocol
...
Closes #955 .
2017-11-20 22:27:37 +01:00
Camilla Löwy
0882fffc37
Fix missing CMake file path quoting
2017-08-20 14:47:44 +02:00
Camilla Löwy
2d0ffd788b
Fix type in filename
2017-08-13 21:24:58 +02:00
Camilla Löwy
e27dc50689
Add non-VS warning about C99 declarations
...
This adds a warning in GCC and Clang about using intermingled
variable declarations in source files that will be built by VS.
This currently excludes egl_context.c and osmesa_context.c. It will
be addressed by a separate commit.
Related to #1026 .
2017-08-13 21:24:58 +02:00
Camilla Löwy
3ee7f8f695
Cocoa: Fix warnings caused by _XOPEN_SOURCE
2017-08-10 22:24:44 +02:00
Camilla Löwy
e376404d38
Cleanup
2017-08-09 16:26:29 +02:00
Camilla Löwy
079518617c
Linux: Fix missing feature macro for using strdup
...
This adds _XOPEN_SOURCE = 500.
Fixes #1055 .
2017-08-09 16:25:47 +02:00
Camilla Löwy
953106e74d
Add support for SDL_GameControllerDB
...
This adds support for importing and applying mappings from the
SDL_GameControllerDB database.
Related to #900 .
2017-07-07 15:52:33 +02:00
Camilla Löwy
58c05ba8ee
Fix library destination for DLL platforms
...
Fixes #1035 .
2017-06-28 12:07:39 +02:00
Camilla Löwy
a3007b9b0e
Rename thread source files
...
This to reflect that they now contain more than TLS.
2017-06-08 16:09:14 +02:00
Emmanuel Gil Peyrot
0e0862cfc7
Wayland: Fix broken build
...
Regression caused by e9560ef021
.
2017-03-03 17:51:40 +00:00
Camilla Löwy
d88347ee7d
Mir: Fix broken build
...
Regression caused by e9560ef021
.
2017-03-02 17:52:32 +01:00
Camilla Löwy
53f46d32e2
Make OSMesa backend an almost proper null backend
...
It still depends on POSIX time and TLS.
2017-02-28 21:57:43 +01:00
Camilla Löwy
e9560ef021
Add GLFW_OSMESA_CONTEXT_API
...
This allows the creation of OpenGL contexts via OSMesa on existing
platforms. It does not add a compile- or link-time dependency on
OSMesa.
Fixes #281 .
2017-02-28 20:38:10 +01:00
Camilla Löwy
67a55efa27
Add null joystick backend
...
This prepares the X11 backend to support other joystick APIs, for
example the FreeBSD libusb one.
2017-02-01 03:07:25 +01:00
Camilla Löwy
ec410fb6fe
Cocoa: Enable EGL
2017-01-02 15:32:55 +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
ef80beab81
Add run-time context creation API selection
...
Fixes #145 .
2016-05-04 17:00:07 +02: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
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
Camilla Berglund
7f7ad39e15
CMake target installation fixes
2016-02-02 06:10:22 +01:00
Marcus Geelnard
075140aefe
Add public header path to target interface
...
Closes #697 .
2016-02-02 06:00:18 +01:00
Nicholas Vitovitch
453631773e
Export transitive dependencies for static library
2016-02-02 06:00:18 +01:00
Zbigniew Mandziejewicz
8637612908
Add GLFW_DLL to target interface
2016-02-02 06:00:18 +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
7fec7a0569
Make source file names more consistent
...
Use platform prefix for files specific to that platform AND that have no
credible alternative API on that platform.
The exception is WinMM, which will be replaced before 3.2.
2015-12-13 14:51:44 +01:00
Camilla Berglund
12b6c56903
Add suffixes to platform specific helper functions
...
Also merge win32_tls.h into win32_platform.h.
2015-12-13 14:50:59 +01:00
Camilla Berglund
eea46be4e6
Fix missing MinGW import library prefix
...
Fixes #657 .
2015-12-12 18:08:45 +01:00
Camilla Berglund
5f6aa9c34c
Added IDE folders to CMake files.
...
Fixes #328 .
2015-01-05 01:19:02 +01:00
BrandonSchaefer
cfb7d2f036
Start with the skeleton code for Mir support.
2014-11-10 02:00:14 +01:00
Camilla Berglund
5f13279557
Merged time functions into input module.
2014-10-13 15:48:40 +02:00
Camilla Berglund
bb98eae131
Merged joystick functions into input module.
2014-10-13 15:48:40 +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
8d170c7f47
Merged clipboard code into input.
2014-09-09 16:36:41 +02:00
Camilla Berglund
59d1aa52f2
Merged gamma files into monitor files.
2014-08-18 12:31:48 +02:00
Camilla Berglund
3b7d34a1d5
Moved XKB header to header variable.
2014-08-11 23:56:05 +02:00
Camilla Berglund
aa4ec94d71
Removed link interface no-op.
...
Closes #327 .
2014-08-11 20:30:21 +02:00
Camilla Berglund
6e0ea02f17
Quoted all CMake paths with substitution.
...
Fixes #258 .
2014-08-11 20:26:37 +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
2f71bfc152
x11: Move KeySym to unicode converter out of x11 backend
...
To be used by the Wayland backend.
2014-06-29 23:18:40 +02:00
Camilla Berglund
1127c0e6e5
Renamed Wayland files to match prefix.
2014-04-08 17:47:38 +02:00
Camilla Berglund
7c925353a5
Renamed context module headers.
2014-04-08 17:47:38 +02:00
Camilla Berglund
8113c00712
Merged CMake platform file picking blocks.
2014-04-08 17:47:38 +02:00
Camilla Berglund
17d9051b82
Separated time state from window system state.
2014-04-08 17:47:38 +02:00
Camilla Berglund
fce0114174
Renamed POSIX time module.
2014-04-08 17:47:38 +02:00
Camilla Berglund
660034332d
Separated joystick state from window system state.
...
This is partially in preparation for pending support for additional
joystick APIs like XInput, DirectInput and IOHID.
2014-04-08 16:07:21 +02:00
Camilla Berglund
b7fc8099f1
Removed duplicate addition of POSIX time header.
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
78efc18079
Split out TLS code into separate modules.
...
This allows the TLS code to be re-used by partial ports like EGL.
2014-03-30 15:24:09 +02:00
Camilla Berglund
23021422f3
Added explicit configuration header macro.
2013-11-20 12:06:07 +01:00
Camilla Berglund
16e63adc40
Tenative setting of install_name.
2013-10-16 20:56:59 +02:00
Andrew Corrigan
34f1c298b6
config.h.in --> glfw_config.h.in
2013-10-04 09:41:08 -04:00
Camilla Berglund
10017b27bb
Cleanup.
2013-06-17 12:46:51 +02:00
Camilla Berglund
01ccc56423
Added missing headers to library target.
2013-06-17 10:31:25 +02:00
Camilla Berglund
d31322cdcd
Added option for disabling install.
2013-06-16 13:31:39 +02:00
Camilla Berglund
15ed715f4e
Moved public headers to the GLFW directory.
2013-05-22 22:46:34 +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
121ce7fbd6
Renamed X11 keysym to Unicode conversion file.
2013-01-17 18:59:35 +01:00
Camilla Berglund
cc45a9e53d
Updated native API and merged into related files.
2013-01-15 22:38:14 +01:00
Camilla Berglund
73cdc34df7
Merge branch 'master' into multi-monitor
...
Conflicts:
CMakeLists.txt
readme.html
src/CMakeLists.txt
src/cocoa_platform.h
src/win32_platform.h
src/x11_platform.h
tests/events.c
2012-12-02 20:52:03 +01:00
Camilla Berglund
ccdb776cc3
Cleanup of configuration variable use.
2012-12-02 19:13:01 +01:00
Camilla Berglund
47c11b4ea6
Tweaked comment.
2012-12-02 19:02:32 +01:00
Camilla Berglund
41bc0d18f4
Merge branch 'master' into multi-monitor
...
Conflicts:
include/GL/glfw3.h
readme.html
src/CMakeLists.txt
src/win32_window.c
src/window.c
src/x11_window.c
tests/clipboard.c
tests/defaults.c
tests/events.c
tests/fsfocus.c
tests/glfwinfo.c
tests/joysticks.c
tests/peter.c
tests/sharing.c
tests/tearing.c
tests/title.c
tests/windows.c
2012-11-27 16:55:04 +01:00
Camilla Berglund
1eef0f0869
Renamed context module files.
2012-11-27 15:21:49 +01:00
Camilla Berglund
5ea3591586
Cocoa NSGL fixes.
2012-11-27 15:17:24 +01:00
Camilla Berglund
34d383399c
Finished initial window/context backend split.
2012-11-27 15:02:26 +01:00
Camilla Berglund
b934cdf573
Begun preparations for Win32 EGL support.
2012-11-27 13:07:26 +01:00
Camilla Berglund
e4ddcefc14
Merge branch 'master' into EGL
...
Conflicts:
CMakeLists.txt
include/GL/glfw3.h
readme.html
src/CMakeLists.txt
src/cocoa_window.m
src/config.h.in
src/glx_opengl.c
src/internal.h
src/opengl.c
src/window.c
tests/glfwinfo.c
2012-11-27 12:21:54 +01:00
m@bitsnbites.eu
1c21fc1383
Removed GLFW_SYSTEM_KEYS from the GLFW API
...
Rationale: Disabling system commands is inherently
dangerous, and should not be encouraged. Also, it's very
difficult to define and implement a reliable and
consistent cross-platform mechanism.
2012-11-10 22:20:47 +01:00