Add CMake building support

This commit is contained in:
Tera << 8 2025-06-07 18:58:42 -04:00
parent a77f0c6c77
commit 07c5e54f59
Signed by: imterah
GPG key ID: 8FA7DD57BA6CEA37
4 changed files with 21 additions and 12 deletions

View file

@ -27,6 +27,9 @@ option(GLFW_BUILD_X11 "Build the bundled GLFW with X11 support" ON)
option(INCLUDE_EVERYTHING "Include everything disabled by default (for CI usage" OFF)
set(OFF ${INCLUDE_EVERYTHING} CACHE INTERNAL "Replace any OFF by default with \${OFF} to have it covered by this option")
# DRM build options
option(ENABLE_WAYLAND_DRM_LEASING "Enables DRM leasing in the DRM backend via the Wayland desktop" OFF)
include(ParseConfigHeader)
foreach(FLAG IN LISTS CONFIG_HEADER_FLAGS)

View file

@ -88,10 +88,21 @@ elseif ("${PLATFORM}" MATCHES "DRM")
find_library(GBM gbm)
if (NOT CMAKE_CROSSCOMPILING OR NOT CMAKE_SYSROOT)
include_directories(/usr/include/libdrm)
find_package(PkgConfig QUIET)
pkg_check_modules(DRM REQUIRED libdrm)
include_directories(${DRM_INCLUDE_DIRS})
endif ()
set(LIBS_PRIVATE ${GLESV2} ${EGL} ${DRM} ${GBM} atomic pthread m dl)
if (ENABLE_WAYLAND_DRM_LEASING)
find_package(PkgConfig REQUIRED)
add_definitions(-DENABLE_WAYLAND_DRM_LEASING)
find_library(WAYLAND_CLIENT wayland-client)
pkg_check_modules(WAYLAND_CLIENT_LIB REQUIRED wayland-client)
include_directories(${WAYLAND_CLIENT_LIB})
list(APPEND LIBS_PRIVATE ${WAYLAND_CLIENT})
endif ()
elseif ("${PLATFORM}" MATCHES "SDL")
find_package(SDL2 REQUIRED)
set(PLATFORM_CPP "PLATFORM_DESKTOP_SDL")

View file

@ -634,13 +634,8 @@ OBJS = rcore.o \
rshapes.o \
rtextures.o \
rtext.o \
utils.o
utils.o
ifeq ($(TARGET_PLATFORM),PLATFORM_DRM)
ifeq ($(ENABLE_WAYLAND_DRM_LEASING),yes)
OBJS += drm-lease-v1.o
endif
endif
ifeq ($(TARGET_PLATFORM),PLATFORM_DESKTOP_GLFW)
ifeq ($(USE_EXTERNAL_GLFW),FALSE)
OBJS += rglfw.o
@ -738,10 +733,6 @@ rcore.o : platforms/*.c
rcore.o : rcore.c raylib.h rlgl.h utils.h raymath.h rcamera.h rgestures.h
$(CC) -c $< $(CFLAGS) $(INCLUDE_PATHS)
# Compile Wayland DRM leasing module
drm-lease-v1.o : platforms/drm-lease-v1.c
$(CC) -c $< $(CFLAGS) $(INCLUDE_PATHS)
# Compile rglfw module
rglfw.o : rglfw.c
$(CC) $(GLFW_OSX) -c $< $(CFLAGS) $(INCLUDE_PATHS)

View file

@ -82,7 +82,11 @@
#if defined(ENABLE_WAYLAND_DRM_LEASING)
#include "wayland-client.h" // Wayland client. Used to do DRM leasing.
#include "drm-lease-v1.h"
// DRM leasing protocol that's used
#if defined(ENABLE_WAYLAND_DRM_LEASING)
#include "drm-lease-v1.c"
#include "drm-lease-v1.h"
#endif
#endif
#ifndef EGL_OPENGL_ES3_BIT