]> git.lizzy.rs Git - irrlicht.git/blobdiff - source/Irrlicht/CMakeLists.txt
Add OpenGL3 renderer
[irrlicht.git] / source / Irrlicht / CMakeLists.txt
index eeb1029a27c89cf3cf274b80df6ccaf256136da9..b78410c9ee8846e8c07a328a2361e26e84a3ff6b 100644 (file)
@@ -63,6 +63,12 @@ if(NOT REVISION_SANITY_CHECK)
        message(FATAL_ERROR "IrrlichtMt revision number mismatches between CMake and headers.")
 endif()
 
+# Platform-independent configuration (hard-coded currently)
+add_definitions(
+       -DIRR_ENABLE_BUILTIN_FONT
+       -D_IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
+       )
+
 # Platform-specific configuration
 
 if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
@@ -147,6 +153,8 @@ endif()
 
 # OpenGL
 
+option(ENABLE_OPENGL3 "Enable OpenGL 3+" FALSE)
+
 if(IOS OR ANDROID OR EMSCRIPTEN)
        set(ENABLE_OPENGL FALSE)
 else()
@@ -377,6 +385,19 @@ add_library(IRRVIDEOOBJ OBJECT
        ${IRRIMAGEOBJ}
 )
 
+if(ENABLE_OPENGL3)
+       if (NOT USE_SDL2)
+               message(SEND_ERROR "OpenGL3 support requires SDL2")
+       endif()
+       target_sources(IRRVIDEOOBJ PUBLIC
+               OpenGL/Driver.cpp
+               OpenGL/ExtensionHandler.cpp
+               OpenGL/FixedPipelineRenderer.cpp
+               OpenGL/MaterialRenderer.cpp
+               OpenGL/Renderer2D.cpp
+       )
+endif()
+
 add_library(IRRIOOBJ OBJECT
        CFileList.cpp
        CFileSystem.cpp
@@ -399,6 +420,10 @@ add_library(IRROTHEROBJ OBJECT
        os.cpp
 )
 
+if(ENABLE_OPENGL3)
+       target_compile_definitions(IRROTHEROBJ PRIVATE ENABLE_OPENGL3)
+endif()
+
 if(ANDROID)
        target_sources(IRROTHEROBJ PRIVATE
                Android/CIrrDeviceAndroid.cpp