@@ -21,7 +21,8 @@ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
2121
2222# Options for building libpag
2323option (PAG_USE_OPENGL "Allow use of OpenGL as GPU backend" ON )
24- option (PAG_USE_SWIFTSHADER "Allow build with SwiftShader library" OFF )
24+ option (PAG_USE_SWIFTSHADER "Allow build with the SwiftShader library" OFF )
25+ option (PAG_USE_ANGLE "Allow build with the ANGLE library" OFF )
2526option (PAG_USE_QT "Allow build with QT frameworks" OFF )
2627option (PAG_USE_RTTR "Enable RTTR support" OFF )
2728option (PAG_USE_HARFBUZZ "Enable HarfBuzz support" OFF )
@@ -76,12 +77,13 @@ endif ()
7677
7778if (PAG_USE_QT)
7879 set (PAG_USE_SWIFTSHADER OFF )
80+ set (PAG_USE_ANGLE OFF )
81+ elseif (PAG_USE_SWIFTSHADER)
82+ set (PAG_USE_ANGLE OFF )
7983endif ()
8084
81- if (PAG_USE_QT OR PAG_USE_SWIFTSHADER)
85+ if (PAG_USE_QT OR PAG_USE_SWIFTSHADER OR PAG_USE_ANGLE )
8286 set (PAG_USE_OPENGL ON )
83- else ()
84- set (USE_NATIVE_PLATFORM ON )
8587endif ()
8688
8789if (PAG_USE_FFAVC)
@@ -201,6 +203,8 @@ elseif (PAG_USE_SWIFTSHADER)
201203 list (APPEND PAG_INCLUDES ${TGFX_DIR} /vendor/swiftshader/include )
202204 file (GLOB_RECURSE PLATFORM_FILES src/platform/swiftshader/*.*)
203205 list (APPEND PAG_FILES ${PLATFORM_FILES} )
206+ else ()
207+ set (USE_NATIVE_PLATFORM ON )
204208endif ()
205209
206210if (PAG_USE_RTTR)
@@ -350,9 +354,16 @@ elseif (WIN32)
350354 list (APPEND PAG_DEFINES NOMINMAX _USE_MATH_DEFINES)
351355
352356 if (USE_NATIVE_PLATFORM)
353- list (APPEND PAG_INCLUDES ${TGFX_DIR} /vendor/angle/include )
354- file (GLOB ANGLE_LIBS ${TGFX_DIR} /vendor/angle/${PLATFORM} /${ARCH} /*${CMAKE_STATIC_LIBRARY_SUFFIX} )
355- list (APPEND PAG_STATIC_LIBS ${ANGLE_LIBS} )
357+ if (PAG_USE_ANGLE)
358+ list (APPEND PAG_DEFINES PAG_USE_ANGLE)
359+ list (APPEND PAG_INCLUDES ${TGFX_DIR} /vendor/angle/include )
360+ file (GLOB ANGLE_LIBS ${TGFX_DIR} /vendor/angle/${PLATFORM} /${ARCH} /*${CMAKE_STATIC_LIBRARY_SUFFIX} )
361+ list (APPEND PAG_STATIC_LIBS ${ANGLE_LIBS} )
362+ else ()
363+ find_library (OPENGL_LIB opengl32)
364+ list (APPEND PAG_STATIC_LIBS ${OPENGL_LIB} )
365+ endif ()
366+
356367 file (GLOB_RECURSE PLATFORM_FILES src/platform/win/*.*)
357368 list (APPEND PAG_FILES ${PLATFORM_FILES} )
358369 endif ()
@@ -431,6 +442,7 @@ if (NOT HAS_CUSTOM_TGFX_DIR AND EXISTS ${TGFX_CACHE_DIR})
431442 list (APPEND TGFX_OPTIONS "-DTGFX_USE_OPENGL=${PAG_USE_OPENGL} " )
432443 list (APPEND TGFX_OPTIONS "-DTGFX_USE_QT=${PAG_USE_QT} " )
433444 list (APPEND TGFX_OPTIONS "-DTGFX_USE_SWIFTSHADER=${PAG_USE_SWIFTSHADER} " )
445+ list (APPEND TGFX_OPTIONS "-DTGFX_USE_ANGLE=${PAG_USE_ANGLE} " )
434446 list (APPEND TGFX_OPTIONS "-DTGFX_USE_FREETYPE=${PAG_USE_FREETYPE} " )
435447 list (APPEND TGFX_OPTIONS "-DTGFX_USE_PNG_DECODE=${PAG_USE_PNG_DECODE} " )
436448 list (APPEND TGFX_OPTIONS "-DTGFX_USE_PNG_ENCODE=${PAG_USE_PNG_ENCODE} " )
@@ -462,6 +474,7 @@ else ()
462474 set (TGFX_USE_OPENGL ${PAG_USE_OPENGL} )
463475 set (TGFX_USE_QT ${PAG_USE_QT} )
464476 set (TGFX_USE_SWIFTSHADER ${PAG_USE_SWIFTSHADER} )
477+ set (TGFX_USE_ANGLE ${PAG_USE_ANGLE} )
465478 set (TGFX_USE_FREETYPE ${PAG_USE_FREETYPE} )
466479 set (TGFX_USE_PNG_DECODE ${PAG_USE_PNG_DECODE} )
467480 set (TGFX_USE_PNG_ENCODE ${PAG_USE_PNG_ENCODE} )
0 commit comments