mirror of
https://github.com/celisej567/mcpe.git
synced 2026-09-11 20:11:18 +03:00
46 lines
1.6 KiB
CMake
46 lines
1.6 KiB
CMake
add_library(Renderer STATIC)
|
|
|
|
if (render STREQUAL gl)
|
|
# OpenGL
|
|
set(USE_GL 1)
|
|
target_sources(Renderer PRIVATE GL/GL.cpp GL/GL.hpp)
|
|
elseif (render STREQUAL gles)
|
|
# OpenGL ES
|
|
# nothing?
|
|
target_sources(Renderer PRIVATE GL/GL.cpp GL/GL.hpp)
|
|
else()
|
|
message(FATAL_ERROR "Unknown renderer!")
|
|
endif()
|
|
|
|
#target_include_directories(Renderer PUBLIC .)
|
|
target_include_directories(Renderer PRIVATE ../..)
|
|
|
|
# Find OpenGL library
|
|
if (USE_GLES1_COMPATIBILITY_LAYER)
|
|
message(STATUS "GLESv1 compatibility layer")
|
|
set(GLES_COMPATIBILITY_LAYER_USE_SDL TRUE CACHE BOOL "" FORCE)
|
|
set(GLES_COMPATIBILITY_LAYER_DEPENDENCY SDL CACHE STRING "" FORCE)
|
|
#set(GLES_COMPATIBILITY_LAYER_USE_ES3 FALSE CACHE BOOL "" FORCE)
|
|
add_subdirectory(../../thirdparty/gles-compatibility-layer gles-compatibility-layer)
|
|
target_link_libraries(Renderer PUBLIC gles-compatibility-layer)
|
|
target_compile_definitions(Renderer PUBLIC USE_GLES1_COMPATIBILITY_LAYER)
|
|
if(EMSCRIPTEN)
|
|
# Use WebGL 2
|
|
target_link_options(Renderer PUBLIC -sMIN_WEBGL_VERSION=2 -sMAX_WEBGL_VERSION=2)
|
|
endif()
|
|
elseif (WIN32)
|
|
message(STATUS "Windows's opengl32")
|
|
target_link_libraries(Renderer PUBLIC opengl32 glu32)
|
|
target_sources(Renderer PRIVATE ../../thirdparty/GL/GLExt.cpp)
|
|
elseif (ANDROID)
|
|
message(STATUS "Android's opengl32")
|
|
target_link_libraries(Renderer PUBLIC EGL GLESv1_CM)
|
|
else()
|
|
message(STATUS "System OpenGL")
|
|
find_package(OpenGL REQUIRED)
|
|
target_link_libraries(Renderer PUBLIC OpenGL::OpenGL)
|
|
endif()
|
|
if (platform STREQUAL sdl)
|
|
target_link_libraries(Renderer PUBLIC SDL)
|
|
endif()
|