Skip to content

Commit b5404f8

Browse files
committed
2 parents 190bf87 + 8e15281 commit b5404f8

175 files changed

Lines changed: 36381 additions & 18744 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.appveyor.yml

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
image:
22
- Visual Studio 2015
3-
- Visual Studio 2019
43
branches:
54
only:
65
- ci
76
- master
7+
- latest
88
- 3.3-stable
99
skip_tags: true
10-
skip_commits:
11-
files:
12-
- README.md
13-
- LICENSE.md
14-
- docs/*
1510
environment:
1611
matrix:
1712
- GENERATOR: MinGW Makefiles
@@ -20,42 +15,29 @@ environment:
2015
- GENERATOR: MinGW Makefiles
2116
BUILD_SHARED_LIBS: OFF
2217
CFLAGS: -Werror
23-
- GENERATOR: Visual Studio 10 2010
18+
- GENERATOR: Visual Studio 12 2013
2419
BUILD_SHARED_LIBS: ON
2520
CFLAGS: /WX
26-
- GENERATOR: Visual Studio 10 2010
27-
BUILD_SHARED_LIBS: OFF
28-
CFLAGS: /WX
29-
- GENERATOR: Visual Studio 16 2019
30-
BUILD_SHARED_LIBS: ON
31-
CFLAGS: /WX
32-
- GENERATOR: Visual Studio 16 2019
21+
- GENERATOR: Visual Studio 12 2013
3322
BUILD_SHARED_LIBS: OFF
3423
CFLAGS: /WX
3524
matrix:
3625
fast_finish: true
37-
exclude:
38-
- image: Visual Studio 2015
39-
GENERATOR: Visual Studio 16 2019
40-
- image: Visual Studio 2019
41-
GENERATOR: Visual Studio 10 2010
42-
- image: Visual Studio 2019
43-
GENERATOR: MinGW Makefiles
4426
for:
4527
-
4628
matrix:
47-
except:
48-
- GENERATOR: Visual Studio 10 2010
29+
only:
30+
- GENERATOR: MinGW Makefiles
4931
build_script:
50-
- set PATH=%PATH:C:\Program Files\Git\usr\bin=C:\MinGW\bin%
51-
- cmake -S . -B build -G "%GENERATOR%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS%
32+
- set PATH=C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;%PATH:C:\Program Files\Git\usr\bin=%
33+
- cmake -B build -G "%GENERATOR%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS%
5234
- cmake --build build
5335
-
5436
matrix:
5537
only:
56-
- GENERATOR: Visual Studio 10 2010
38+
- GENERATOR: Visual Studio 12 2013
5739
build_script:
58-
- cmake -S . -B build -G "%GENERATOR%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS%
40+
- cmake -B build -G "%GENERATOR%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS%
5941
- cmake --build build --target glfw
6042
notifications:
6143
- provider: Email

.editorconfig

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# EditorConfig for GLFW and its internal dependencies
2+
#
3+
# All files created by GLFW should indent with four spaces unless their format requires
4+
# otherwise. A few files still use other indent styles for historical reasons.
5+
#
6+
# Dependencies have (what seemed to be) their existing styles described. Those with
7+
# existing trailing whitespace have it preserved to avoid cluttering future commits.
8+
9+
root = true
10+
11+
[*]
12+
charset = utf-8
13+
end_of_line = lf
14+
15+
[include/GLFW/*.h]
16+
indent_style = space
17+
indent_size = 4
18+
19+
[{src,examples,tests}/*.{c,m,h,rc,in}]
20+
indent_style = space
21+
indent_size = 4
22+
23+
[CMakeLists.txt]
24+
indent_style = space
25+
indent_size = 4
26+
27+
[CMake/**.{cmake,in}]
28+
indent_style = space
29+
indent_size = 4
30+
31+
[*.{md}]
32+
indent_style = space
33+
indent_size = 4
34+
trim_trailing_whitespace = false
35+
36+
[DoxygenLayout.xml]
37+
indent_style = space
38+
indent_size = 2
39+
40+
[docs/*.{scss,html}]
41+
indent_style = tab
42+
indent_size = unset
43+
44+
[deps/getopt.{c,h}]
45+
indent_style = space
46+
indent_size = 2
47+
48+
[deps/linmath.h]
49+
indent_style = tab
50+
tab_width = 4
51+
indent_size = 4
52+
trim_trailing_whitespace = false
53+
54+
[deps/nuklear*.h]
55+
indent_style = space
56+
indent_size = 4
57+
58+
[deps/tinycthread.{c,h}]
59+
indent_style = space
60+
indent_size = 2
61+

.github/CODEOWNERS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
* @elmindreda
3+
4+
docs/*.css @glfw/webdev
5+
docs/*.scss @glfw/webdev
6+
docs/*.html @glfw/webdev
7+
docs/*.xml @glfw/webdev
8+

.github/workflows/build.yml

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
name: Build
2+
on:
3+
pull_request:
4+
push:
5+
branches: [ ci, master, latest, 3.3-stable ]
6+
workflow_dispatch:
7+
permissions:
8+
statuses: write
9+
contents: read
10+
11+
jobs:
12+
build-linux-clang:
13+
name: Linux (Clang)
14+
runs-on: ubuntu-latest
15+
timeout-minutes: 4
16+
env:
17+
CC: clang
18+
CFLAGS: -Werror
19+
steps:
20+
- uses: actions/checkout@v4
21+
- name: Install dependencies
22+
run: |
23+
sudo apt update
24+
sudo apt install libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev libwayland-dev libxkbcommon-dev
25+
26+
- name: Configure Null shared library
27+
run: cmake -B build-null-shared -D GLFW_BUILD_WAYLAND=OFF -D GLFW_BUILD_X11=OFF -D BUILD_SHARED_LIBS=ON
28+
- name: Build Null shared library
29+
run: cmake --build build-null-shared --parallel
30+
31+
- name: Configure X11 shared library
32+
run: cmake -B build-x11-shared -D GLFW_BUILD_WAYLAND=OFF -D GLFW_BUILD_X11=ON -D BUILD_SHARED_LIBS=ON
33+
- name: Build X11 shared library
34+
run: cmake --build build-x11-shared --parallel
35+
36+
- name: Configure Wayland shared library
37+
run: cmake -B build-wayland-shared -D GLFW_BUILD_WAYLAND=ON -D GLFW_BUILD_X11=OFF -D BUILD_SHARED_LIBS=ON
38+
- name: Build Wayland shared library
39+
run: cmake --build build-wayland-shared --parallel
40+
41+
- name: Configure Wayland+X11 static library
42+
run: cmake -B build-full-static -D GLFW_BUILD_WAYLAND=ON -D GLFW_BUILD_X11=ON
43+
- name: Build Wayland+X11 static library
44+
run: cmake --build build-full-static --parallel
45+
46+
- name: Configure Wayland+X11 shared library
47+
run: cmake -B build-full-shared -D GLFW_BUILD_WAYLAND=ON -D BUILD_SHARED_LIBS=ON -D GLFW_BUILD_X11=ON
48+
- name: Build Wayland+X11 shared library
49+
run: cmake --build build-full-shared --parallel
50+
51+
build-macos-clang:
52+
name: macOS (Clang)
53+
runs-on: macos-latest
54+
timeout-minutes: 4
55+
env:
56+
CFLAGS: -Werror
57+
MACOSX_DEPLOYMENT_TARGET: 10.11
58+
CMAKE_OSX_ARCHITECTURES: x86_64;arm64
59+
steps:
60+
- uses: actions/checkout@v4
61+
62+
- name: Configure Null shared library
63+
run: cmake -B build-null-shared -D GLFW_BUILD_COCOA=OFF -D BUILD_SHARED_LIBS=ON
64+
- name: Build Null shared library
65+
run: cmake --build build-null-shared --parallel
66+
67+
- name: Configure Cocoa static library
68+
run: cmake -B build-cocoa-static
69+
- name: Build Cocoa static library
70+
run: cmake --build build-cocoa-static --parallel
71+
72+
- name: Configure Cocoa shared library
73+
run: cmake -B build-cocoa-shared -D BUILD_SHARED_LIBS=ON
74+
- name: Build Cocoa shared library
75+
run: cmake --build build-cocoa-shared --parallel
76+
77+
build-windows-vs2022:
78+
name: Windows (VS2022)
79+
runs-on: windows-latest
80+
timeout-minutes: 4
81+
env:
82+
CFLAGS: /WX
83+
steps:
84+
- uses: actions/checkout@v4
85+
86+
- name: Configure Win32 shared x86 library
87+
run: cmake -B build-win32-shared-x86 -G "Visual Studio 17 2022" -A Win32 -D BUILD_SHARED_LIBS=ON
88+
- name: Build Win32 shared x86 library
89+
run: cmake --build build-win32-shared-x86 --parallel
90+
91+
- name: Configure Win32 static x64 library
92+
run: cmake -B build-win32-static-x64 -G "Visual Studio 17 2022" -A x64
93+
- name: Build Win32 static x64 library
94+
run: cmake --build build-win32-static-x64 --parallel
95+
96+
- name: Configure Win32 shared x64 library
97+
run: cmake -B build-win32-shared-x64 -G "Visual Studio 17 2022" -A x64 -D BUILD_SHARED_LIBS=ON
98+
- name: Build Win32 shared x64 library
99+
run: cmake --build build-win32-shared-x64 --parallel
100+

.gitignore

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,46 @@
1-
# External junk
2-
.DS_Store
1+
# The canonical out-of-tree build subdirectory
2+
build
3+
build-*
4+
5+
# Visual Studio clutter
36
_ReSharper*
4-
*.opensdf
57
*.sdf
68
*.suo
79
*.dir
810
*.vcxproj*
911
*.sln
10-
.vs/
12+
.vs
13+
CMakeSettings.json
1114
Win32
1215
x64
1316
Debug
1417
Release
1518
MinSizeRel
1619
RelWithDebInfo
17-
*.xcodeproj
20+
*.opensdf
21+
22+
# Xcode clutter
23+
GLFW.build
24+
GLFW.xcodeproj
1825

19-
# CMake files
26+
# macOS clutter
27+
.DS_Store
28+
29+
# Makefile generator clutter
2030
Makefile
31+
32+
# Ninja generator clutter
33+
build.ninja
34+
rules.ninja
35+
.ninja_deps
36+
.ninja_log
37+
38+
# CMake clutter
2139
CMakeCache.txt
2240
CMakeFiles
2341
CMakeScripts
42+
CMakeDoxyfile.in
43+
CMakeDoxygenDefaults.cmake
2444
cmake_install.cmake
2545
cmake_uninstall.cmake
2646

@@ -33,19 +53,15 @@ src/glfw_config.h
3353
src/glfw3.pc
3454
src/glfw3Config.cmake
3555
src/glfw3ConfigVersion.cmake
36-
src/wayland-pointer-constraints-unstable-v1-client-protocol.h
37-
src/wayland-pointer-constraints-unstable-v1-protocol.c
38-
src/wayland-relative-pointer-unstable-v1-client-protocol.h
39-
src/wayland-relative-pointer-unstable-v1-protocol.c
4056

4157
# Compiled binaries
4258
src/libglfw.so
4359
src/libglfw.so.3
44-
src/libglfw.so.3.4
60+
src/libglfw.so.3.5
4561
src/libglfw.dylib
4662
src/libglfw.dylib
4763
src/libglfw.3.dylib
48-
src/libglfw.3.4.dylib
64+
src/libglfw.3.5.dylib
4965
src/libglfw3.a
5066
src/glfw3.lib
5167
src/glfw3.dll
@@ -62,6 +78,7 @@ examples/splitview
6278
examples/sharing
6379
examples/triangle-opengl
6480
examples/wave
81+
examples/windows
6582
tests/*.app
6683
tests/*.exe
6784
tests/clipboard
@@ -72,6 +89,7 @@ tests/gamma
7289
tests/glfwinfo
7390
tests/icon
7491
tests/iconify
92+
tests/inputlag
7593
tests/joysticks
7694
tests/monitors
7795
tests/msaa
@@ -81,5 +99,6 @@ tests/threads
8199
tests/timeout
82100
tests/title
83101
tests/triangle-vulkan
102+
tests/window
84103
tests/windows
85104

.mailmap

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Camilla Löwy <elmindreda@glfw.org> <elmindreda@users.sourceforge.net>
2+
Camilla Löwy <elmindreda@glfw.org> <elmindreda@elmindreda.org>
3+
Camilla Löwy <elmindreda@glfw.org>
4+
5+
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
6+
7+
Marcus Geelnard <m@bitsnbites.eu> <marcus256@users.sourceforge.net>
8+
Marcus Geelnard <m@bitsnbites.eu> <marcus@geelnards-pc.(none)>
9+
Marcus Geelnard <m@bitsnbites.eu>
10+

0 commit comments

Comments
 (0)