From e706368225d7c9a77713e6ee6614616401745cf0 Mon Sep 17 00:00:00 2001 From: cmitu <31816814+cmitu@users.noreply.github.com> Date: Sat, 18 Dec 2021 18:05:37 +0000 Subject: [PATCH] cmake: add support for legacy RPI GLES2 libs Raspberry Pi 3 can use the legacy Broadcom GLES2 libraries from /opt/vc/lib. They are the default GLESv2 libraries on Raspberry PI OS 10 (Buster) and older. --- CMakeLists.txt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d2c174c7..4517d3f09 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,7 @@ option(USE_HOST_LIBZIP "Use host libzip" ON) option(USE_OPENMP "Use OpenMP if available" ON) option(USE_VULKAN "Build with Vulkan support" ON) option(LIBRETRO "Build libretro core" OFF) +option(USE_VIDEOCORE "RPI: use the legacy Broadcom GLES libraries" OFF) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/shell/cmake") @@ -97,7 +98,12 @@ elseif(LIBRETRO) target_link_libraries(${PROJECT_NAME} PRIVATE "-lGLESv3") elseif(USE_GLES2) target_compile_definitions(${PROJECT_NAME} PRIVATE GLES GLES2 HAVE_OPENGLES HAVE_OPENGLES2) - target_link_libraries(${PROJECT_NAME} PRIVATE "-lGLESv2") + if(USE_VIDEOCORE) + target_link_libraries(${PROJECT_NAME} PRIVATE "-lbrcmGLESv2") + target_link_directories(${PROJECT_NAME} PRIVATE "/opt/vc/lib") + else() + target_link_libraries(${PROJECT_NAME} PRIVATE "-GLESv2") + endif() else() target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_OPENGL) if(APPLE) @@ -346,7 +352,12 @@ if(UNIX AND NOT APPLE AND NOT ANDROID) if(USE_GLES2) target_compile_definitions(${PROJECT_NAME} PRIVATE GLES GLES2) - target_link_libraries(${PROJECT_NAME} PRIVATE GLESv2) + if(USE_VIDEOCORE) + target_link_libraries(${PROJECT_NAME} PRIVATE "-lbrcmGLESv2") + target_link_directories(${PROJECT_NAME} PRIVATE "/opt/vc/lib") + else() + target_link_libraries(${PROJECT_NAME} PRIVATE GLESv2) + endif() elseif(USE_GLES) target_compile_definitions(${PROJECT_NAME} PRIVATE GLES GLES3) if(NOT SDL2_FOUND)