cleanup: only build some files on WIN32 and compile EGL only if needed

This commit is contained in:
Loïc Blot
2023-08-01 20:53:25 +02:00
committed by GitHub
parent c311d01c07
commit d98dc90b38
11 changed files with 42 additions and 34 deletions

View File

@ -78,6 +78,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
set(SOLARIS TRUE)
endif()
# EGL
set(ENABLE_EGL OFF)
# Device
if(WIN32)
@ -92,8 +96,11 @@ elseif(ANDROID)
message(FATAL_ERROR "SDL2 device is not (yet) supported on Android")
endif()
set(DEVICE "ANDROID")
# EGL is required for Android
set(ENABLE_EGL ON)
elseif(EMSCRIPTEN)
add_definitions(-D_IRR_EMSCRIPTEN_PLATFORM_ -D_IRR_COMPILE_WITH_EGL_MANAGER_)
add_definitions(-D_IRR_EMSCRIPTEN_PLATFORM_)
set(ENABLE_EGL ON)
set(LINUX_PLATFORM TRUE)
set(DEVICE "SDL")
elseif(SOLARIS)
@ -178,7 +185,7 @@ endif()
if(ENABLE_OPENGL)
add_definitions(-D_IRR_COMPILE_WITH_OPENGL_)
if(DEVICE STREQUAL "WINDOWS")
add_definitions(-D_IRR_COMPILE_WITH_WGL_MANAGER_ -D_IRR_OPENGL_USE_EXTPOINTER_)
add_definitions(-D_IRR_OPENGL_USE_EXTPOINTER_)
elseif(DEVICE STREQUAL "X11")
add_definitions(-D_IRR_COMPILE_WITH_GLX_MANAGER_ -D_IRR_OPENGL_USE_EXTPOINTER_)
elseif(DEVICE STREQUAL "OSX")
@ -202,18 +209,22 @@ if(ENABLE_GLES1)
endif()
add_definitions(-D_IRR_COMPILE_WITH_OGLES1_)
if(DEVICE MATCHES "^(WINDOWS|X11|ANDROID)$")
add_definitions(-D_IRR_COMPILE_WITH_EGL_MANAGER_ -D_IRR_OGLES1_USE_EXTPOINTER_)
add_definitions(-D_IRR_OGLES1_USE_EXTPOINTER_)
endif()
# We need EGL for GLES1
set(ENABLE_EGL ON)
endif()
if(ENABLE_GLES2)
add_definitions(-D_IRR_COMPILE_WITH_OGLES2_)
if(DEVICE MATCHES "^(WINDOWS|X11|ANDROID)$" OR EMSCRIPTEN)
add_definitions(-D_IRR_COMPILE_WITH_EGL_MANAGER_ -D_IRR_OGLES2_USE_EXTPOINTER_)
add_definitions(-D_IRR_OGLES2_USE_EXTPOINTER_)
elseif(DEVICE STREQUAL "SDL")
set(USE_SDLGL ON)
set(USE_SDLGLES2 ON)
endif()
# We need EGL for GLES2
set(ENABLE_EGL ON)
endif()
if(ENABLE_WEBGL1)
@ -241,6 +252,7 @@ elseif (ENABLE_GLES2)
else()
message(STATUS "OpenGL ES 2: OFF")
endif()
message(STATUS "EGL: ${ENABLE_EGL}")
message(STATUS "WebGL: ${ENABLE_WEBGL1}")
# Required libs
@ -352,12 +364,21 @@ add_library(IRROBJ OBJECT
set(IRRDRVROBJ
CNullDriver.cpp
CGLXManager.cpp
CWGLManager.cpp
CEGLManager.cpp
CSDLManager.cpp
mt_opengl_loader.cpp
)
if(WIN32)
set(IRRDRVROBJ ${IRRDRVROBJ}
CIrrDeviceWin32.cpp
)
if(ENABLE_OPENGL)
set(IRRDRVROBJ ${IRRDRVROBJ}
CWGLManager.cpp
)
endif()
endif()
if(ENABLE_OPENGL)
set(IRRDRVROBJ
${IRRDRVROBJ}
@ -377,6 +398,14 @@ if(ENABLE_GLES1)
)
endif()
if(ENABLE_EGL)
set(IRRDRVROBJ
${IRRDRVROBJ}
CEGLManager.cpp
)
endif()
set(IRRIMAGEOBJ
CColorConverter.cpp
CImage.cpp
@ -440,7 +469,6 @@ add_library(IRROTHEROBJ OBJECT
CIrrDeviceSDL.cpp
CIrrDeviceLinux.cpp
CIrrDeviceStub.cpp
CIrrDeviceWin32.cpp
CLogger.cpp
COSOperator.cpp
Irrlicht.cpp