Files
mcpe/source/renderer/CMakeLists.txt

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()