Skip to content

Commit 6dcd6f7

Browse files
committed
Ensure OPENGLES flag can be used in CMakeLists.txt
1 parent d85d823 commit 6dcd6f7

1 file changed

Lines changed: 20 additions & 5 deletions

File tree

CMakeLists.txt

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,9 @@ else()
178178
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${COMMON_CXX_FLAGS}")
179179
endif()
180180

181+
# Toggle for GLES (Required for many ARM/Mobile platforms)
182+
option(USE_OPENGLES "Use OpenGLES instead of Desktop OpenGL" OFF)
183+
181184
# Set game compilation version
182185
set(VERSION us)
183186
set(USE_NETWORKING OFF)
@@ -189,6 +192,7 @@ set(GFX_DEBUG_DISASSEMBLER OFF)
189192
# Add compile definitions for the target
190193
add_compile_definitions(
191194
VERSION_US=1
195+
$<$<BOOL:${USE_OPENGLES}>:USE_OPENGLES>
192196
ENABLE_RUMBLE=1
193197
F3DEX_GBI=1
194198
_LANGUAGE_C
@@ -200,10 +204,6 @@ add_compile_definitions(
200204
SPAGHETTI_VERSION="${PROJECT_VERSION}"
201205
)
202206

203-
# Find necessary libraries
204-
if (UNIX AND NOT APPLE)
205-
find_package(OpenGL REQUIRED)
206-
endif()
207207

208208
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
209209
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/properties.h.in ${CMAKE_CURRENT_SOURCE_DIR}/properties.h @ONLY)
@@ -319,6 +319,18 @@ else()
319319
add_executable(${PROJECT_NAME} ${ALL_FILES})
320320
endif()
321321

322+
################################################################################
323+
# OpenGL / OpenGLES library
324+
################################################################################
325+
if (UNIX AND NOT APPLE)
326+
if (USE_OPENGLES)
327+
find_library(GLESv2_LIBRARY GLESv2 REQUIRED)
328+
target_link_libraries(${PROJECT_NAME} PRIVATE ${GLESv2_LIBRARY})
329+
else()
330+
find_package(OpenGL REQUIRED)
331+
target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL)
332+
endif()
333+
endif()
322334

323335
################################################################################
324336
# MSVC runtime library
@@ -402,10 +414,13 @@ include_directories(
402414
${CMAKE_CURRENT_SOURCE_DIR}/libultraship/include
403415
${CMAKE_CURRENT_SOURCE_DIR}/libultraship/include/libultraship
404416
${SDL2_INCLUDE_DIRS}
405-
${GLEW_INCLUDE_DIRS}
406417
${dr_libs_SOURCE_DIR}
407418
)
408419

420+
if (NOT USE_OPENGLES)
421+
include_directories(${GLEW_INCLUDE_DIRS})
422+
endif()
423+
409424
add_subdirectory(libultraship ${CMAKE_CURRENT_SOURCE_DIR}/libultraship)
410425
add_dependencies(${PROJECT_NAME} libultraship)
411426
target_link_libraries(${PROJECT_NAME} PRIVATE libultraship)

0 commit comments

Comments
 (0)