Allow frontends to use different headers for OpenGL declarations (#2102)

This commit is contained in:
Jesse Talavera 2024-07-21 11:02:31 -04:00 committed by GitHub
parent 9b828c2cde
commit 821f5f5f29
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 3 deletions

View File

@ -1,9 +1,16 @@
#ifndef PLATFORMOGL_H #ifndef PLATFORMOGL_H
#define PLATFORMOGL_H #define PLATFORMOGL_H
// if you don't wanna use glad for your platform // If you don't wanna use glad for your platform,
// add your header here! // define MELONDS_GL_HEADER to the path of some other header
// that pulls in the necessary OpenGL declarations.
// Make sure to include quotes or angle brackets as needed,
// and that all targets get the same MELONDS_GL_HEADER definition.
#include "frontend/glad/glad.h" #ifndef MELONDS_GL_HEADER
#define MELONDS_GL_HEADER "\"frontend/glad/glad.h\""
#endif
#include MELONDS_GL_HEADER
#endif #endif

View File

@ -237,3 +237,11 @@ if (UNIX AND NOT APPLE)
INTERPROCEDURAL_OPTIMIZATION_RELEASE OFF) INTERPROCEDURAL_OPTIMIZATION_RELEASE OFF)
endif() endif()
endif() endif()
if (ENABLE_OGLRENDERER)
set(MELONDS_GL_HEADER \"frontend/glad/glad.h\" CACHE STRING "Path to a header that contains OpenGL function and type declarations.")
target_compile_definitions(melonDS PUBLIC OGLRENDERER_ENABLED)
target_compile_definitions(melonDS PUBLIC MELONDS_GL_HEADER=${MELONDS_GL_HEADER})
target_compile_definitions(core PUBLIC MELONDS_GL_HEADER=${MELONDS_GL_HEADER})
endif()