Skip to content

Commit dac9060

Browse files
authored
Massive custom build system overhaul, Bump version 5.5.2, Upgrade rust edition (#188)
1 parent e41f9d8 commit dac9060

File tree

11 files changed

+387
-188
lines changed

11 files changed

+387
-188
lines changed

raylib-sys/Cargo.toml

Lines changed: 140 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
[package]
22
name = "raylib-sys"
3-
version = "5.5.1"
3+
version = "5.5.2"
44
authors = ["raylib-rs team <https://github.com/raylib-rs/raylib-rs>"]
55
license = "Zlib"
66
description = "Raw FFI bindings for Raylib"
77
documentation = "https://docs.rs/raylib-sys"
88
repository = "https://github.com/raylib-rs/raylib-rs"
99
keywords = ["bindings", "raylib", "gamedev", "ffi"]
1010
categories = ["external-ffi-bindings"]
11-
edition = "2018"
11+
edition = "2021"
1212
exclude = ["raylib/examples/*", "raylib/projects/*", "raylib/templates/*"]
1313

1414
[dependencies]
@@ -17,35 +17,157 @@ imgui-sys = { version = "0.12.0", optional = true }
1717

1818
[build-dependencies]
1919
cmake = "0.1.51"
20-
cc = "1.0"
20+
cc = { version = "1.0", features = ["parallel"]}
2121
bindgen = "0.70"
2222

2323
[features]
24-
# Build Raylib headless for docs/esoteric platforms. Up to you to link.
25-
nobuild = []
24+
# default features follow the cmake version: https://github.com/raysan5/raylib/wiki/CMake-Build-Options
25+
# NOTE: some are critical, e.g: SUPPORT_STANDARD_FILEIO should always be turned on because many things like `LoadShader()` uses it to read text
26+
default = [
27+
"bindgen",
28+
"GLFW_BUILD_X11",
29+
"USE_AUDIO",
30+
"SUPPORT_MODULE_RSHAPES",
31+
"SUPPORT_MODULE_RTEXTURES",
32+
"SUPPORT_MODULE_RTEXT",
33+
"SUPPORT_MODULE_RMODELS",
34+
"SUPPORT_MODULE_RAUDIO",
35+
"SUPPORT_CAMERA_SYSTEM",
36+
"SUPPORT_GESTURES_SYSTEM",
37+
"SUPPORT_RPRAND_GENERATOR",
38+
"SUPPORT_MOUSE_GESTURES",
39+
"SUPPORT_SSH_KEYBOARD_RPI",
40+
"SUPPORT_WINMM_HIGHRES_TIMER",
41+
"SUPPORT_SCREEN_CAPTURE",
42+
"SUPPORT_GIF_RECORDING",
43+
"SUPPORT_COMPRESSION_API",
44+
"SUPPORT_AUTOMATION_EVENTS",
45+
"SUPPORT_CLIPBOARD_IMAGE",
46+
"SUPPORT_QUADS_DRAW_MODE",
47+
"SUPPORT_FILEFORMAT_PNG",
48+
"SUPPORT_FILEFORMAT_GIF",
49+
"SUPPORT_FILEFORMAT_QOI",
50+
"SUPPORT_FILEFORMAT_DDS",
51+
"SUPPORT_IMAGE_EXPORT",
52+
"SUPPORT_IMAGE_GENERATION",
53+
"SUPPORT_IMAGE_MANIPULATION",
54+
"SUPPORT_DEFAULT_FONT",
55+
"SUPPORT_FILEFORMAT_TTF",
56+
"SUPPORT_FILEFORMAT_FNT",
57+
"SUPPORT_TEXT_MANIPULATION",
58+
"SUPPORT_FONT_ATLAS_WHITE_REC",
59+
"SUPPORT_FILEFORMAT_OBJ",
60+
"SUPPORT_FILEFORMAT_MTL",
61+
"SUPPORT_FILEFORMAT_IQM",
62+
"SUPPORT_FILEFORMAT_GLTF",
63+
"SUPPORT_FILEFORMAT_VOX",
64+
"SUPPORT_FILEFORMAT_M3D",
65+
"SUPPORT_MESH_GENERATION",
66+
"SUPPORT_FILEFORMAT_WAV",
67+
"SUPPORT_FILEFORMAT_OGG",
68+
"SUPPORT_FILEFORMAT_MP3",
69+
"SUPPORT_FILEFORMAT_QOA",
70+
"SUPPORT_FILEFORMAT_XM",
71+
"SUPPORT_FILEFORMAT_MOD",
72+
"SUPPORT_STANDARD_FILEIO",
73+
"SUPPORT_TRACELOG",
74+
]
75+
raygui = []
2676
# Generate bindings automatically.
2777
# You can turn this off if you wanna go into the source and put in your own bindings.rs, which is
2878
# useful since bindgen doesn't work on esoteric platforms.
2979
bindgen = []
30-
# Build for wayland on linux. Should fix #119
31-
wayland = []
32-
# Bindgen is default
33-
default = ["bindgen"]
80+
imgui = ["dep:imgui", "dep:imgui-sys"]
81+
82+
83+
# ----- Copy and paste these from `raylib-sys` for easier maintance
84+
# Build Raylib headless for docs/esoteric platforms. Up to you to link.
85+
nobuild = []
3486

3587
# OpenGL stuff, intended for fixing #122
36-
opengl_33 = []
88+
opengl_11 = [] # buggy? might not work with wayland
3789
opengl_21 = []
38-
# opengl_11 = [] I couldn't get this one working, the others were fine in my limited testing (unsure about wayland compatibility)
90+
opengl_33 = []
91+
opengl_43 = []
3992
opengl_es_20 = []
4093
opengl_es_30 = []
4194
sdl = []
95+
wayland = []
4296

43-
# Allow disabling screenshots and gifs on f12
44-
noscreenshot = []
45-
nogif = []
97+
# extra build profiles:
98+
release_with_debug_info = []
99+
min_size_rel = []
46100

47-
# config.h's SUPPORT_CUSTOM_FRAME_CONTROL
48-
custom_frame_control = []
101+
ENABLE_ASAN = []
102+
ENABLE_UBSAN = []
103+
ENABLE_MSAN = []
104+
WITH_PIC = []
105+
BUILD_SHARED_LIBS = []
106+
USE_EXTERNAL_GLFW = []
107+
GLFW_BUILD_WAYLAND = []
108+
GLFW_BUILD_X11 = []
109+
INCLUDE_EVERYTHING = []
49110

50-
# ImGui support
51-
imgui = ["dep:imgui", "dep:imgui-sys"]
111+
USE_AUDIO = []
112+
SUPPORT_MODULE_RSHAPES = []
113+
SUPPORT_MODULE_RTEXTURES = []
114+
SUPPORT_MODULE_RTEXT = []
115+
SUPPORT_MODULE_RMODELS = []
116+
SUPPORT_MODULE_RAUDIO = []
117+
SUPPORT_BUSY_WAIT_LOOP = []
118+
SUPPORT_CAMERA_SYSTEM = []
119+
SUPPORT_GESTURES_SYSTEM = []
120+
SUPPORT_RPRAND_GENERATOR = []
121+
SUPPORT_MOUSE_GESTURES = []
122+
SUPPORT_SSH_KEYBOARD_RPI = []
123+
SUPPORT_WINMM_HIGHRES_TIMER = []
124+
SUPPORT_PARTIALBUSY_WAIT_LOOP = []
125+
SUPPORT_GIF_RECORDING = []
126+
SUPPORT_COMPRESSION_API = []
127+
SUPPORT_AUTOMATION_EVENTS = []
128+
SUPPORT_CUSTOM_FRAME_CONTROL = []
129+
SUPPORT_CLIPBOARD_IMAGE = []
130+
SUPPORT_QUADS_DRAW_MODE = []
131+
SUPPORT_FILEFORMAT_PNG = []
132+
SUPPORT_FILEFORMAT_BMP = []
133+
SUPPORT_FILEFORMAT_TGA = []
134+
SUPPORT_FILEFORMAT_JPG = []
135+
SUPPORT_FILEFORMAT_GIF = []
136+
SUPPORT_FILEFORMAT_QOI = []
137+
SUPPORT_FILEFORMAT_PSD = []
138+
SUPPORT_FILEFORMAT_DDS = []
139+
SUPPORT_FILEFORMAT_HDR = []
140+
SUPPORT_FILEFORMAT_PIC = []
141+
SUPPORT_FILEFORMAT_KTX = []
142+
SUPPORT_FILEFORMAT_ASTC = []
143+
SUPPORT_FILEFORMAT_PKM = []
144+
SUPPORT_FILEFORMAT_PVR = []
145+
SUPPORT_IMAGE_EXPORT = []
146+
SUPPORT_IMAGE_GENERATION = []
147+
SUPPORT_IMAGE_MANIPULATION = []
148+
SUPPORT_DEFAULT_FONT = []
149+
SUPPORT_FILEFORMAT_TTF = []
150+
SUPPORT_FILEFORMAT_FNT = []
151+
SUPPORT_FILEFORMAT_BDF = []
152+
SUPPORT_TEXT_MANIPULATION = []
153+
SUPPORT_FONT_ATLAS_WHITE_REC = []
154+
SUPPORT_FILEFORMAT_OBJ = []
155+
SUPPORT_FILEFORMAT_MTL = []
156+
SUPPORT_FILEFORMAT_IQM = []
157+
SUPPORT_FILEFORMAT_GLTF = []
158+
SUPPORT_FILEFORMAT_VOX = []
159+
SUPPORT_FILEFORMAT_M3D = []
160+
SUPPORT_MESH_GENERATION = []
161+
SUPPORT_FILEFORMAT_WAV = []
162+
SUPPORT_FILEFORMAT_OGG = []
163+
SUPPORT_FILEFORMAT_MP3 = []
164+
SUPPORT_FILEFORMAT_QOA = []
165+
SUPPORT_FILEFORMAT_FLAC = []
166+
SUPPORT_FILEFORMAT_XM = []
167+
SUPPORT_FILEFORMAT_MOD = []
168+
SUPPORT_STANDARD_FILEIO = []
169+
SUPPORT_TRACELOG = []
170+
SUPPORT_SCREEN_CAPTURE = []
171+
SUPPORT_VR_SIMULATOR = []
172+
SUPPORT_DISTORTION_SHADER = []
173+
SUPPORT_FONT_TEXTURE = []

0 commit comments

Comments
 (0)