Commit Graph

159 Commits

Author SHA1 Message Date
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