浏览代码

Fix CMake build on Raspberry Pi OS Bullseye (#2548)

Richard Smith 3 年之前
父节点
当前提交
3c3f08c416
共有 3 个文件被更改,包括 9 次插入2 次删除
  1. 2 0
      cmake/GlfwImport.cmake
  2. 2 2
      cmake/LibraryConfigurations.cmake
  3. 5 0
      examples/CMakeLists.txt

+ 2 - 0
cmake/GlfwImport.cmake

@@ -28,6 +28,8 @@ if(NOT glfw3_FOUND AND NOT USE_EXTERNAL_GLFW STREQUAL "ON" AND "${PLATFORM}" MAT
     
     
     list(APPEND raylib_sources $<TARGET_OBJECTS:glfw>)
     list(APPEND raylib_sources $<TARGET_OBJECTS:glfw>)
     include_directories(BEFORE SYSTEM external/glfw/include)
     include_directories(BEFORE SYSTEM external/glfw/include)
+elseif("${PLATFORM}" STREQUAL "DRM")
+    MESSAGE(STATUS "No GLFW required on PLATFORM_DRM")
 else()
 else()
     MESSAGE(STATUS "Using external GLFW")
     MESSAGE(STATUS "Using external GLFW")
     set(GLFW_PKG_DEPS glfw3)
     set(GLFW_PKG_DEPS glfw3)

+ 2 - 2
cmake/LibraryConfigurations.cmake

@@ -27,7 +27,7 @@ if (${PLATFORM} MATCHES "Desktop")
             find_library(OSS_LIBRARY ossaudio)
             find_library(OSS_LIBRARY ossaudio)
         endif ()
         endif ()
         
         
-        set(LIBS_PRIVATE m pthread ${OPENGL_LIBRARIES} ${OSS_LIBRARY})
+        set(LIBS_PRIVATE m atomic pthread ${OPENGL_LIBRARIES} ${OSS_LIBRARY})
 
 
         if (USE_AUDIO)
         if (USE_AUDIO)
             set(LIBS_PRIVATE ${LIBS_PRIVATE} dl)
             set(LIBS_PRIVATE ${LIBS_PRIVATE} dl)
@@ -81,7 +81,7 @@ elseif (${PLATFORM} MATCHES "DRM")
     if (NOT CMAKE_CROSSCOMPILING)
     if (NOT CMAKE_CROSSCOMPILING)
         include_directories(/usr/include/libdrm)
         include_directories(/usr/include/libdrm)
     endif ()
     endif ()
-    set(LIBS_PRIVATE ${GLESV2} ${EGL} ${DRM} ${GBM} pthread m dl)
+    set(LIBS_PRIVATE ${GLESV2} ${EGL} ${DRM} ${GBM} atomic pthread m dl)
 
 
 endif ()
 endif ()
 
 

+ 5 - 0
examples/CMakeLists.txt

@@ -106,6 +106,11 @@ elseif (${PLATFORM} MATCHES "Web")
     # does not generate HTML+JS+WASM files, only a non-working
     # does not generate HTML+JS+WASM files, only a non-working
     # and fat HTML
     # and fat HTML
     string(REPLACE "-rdynamic" "" CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS}")
     string(REPLACE "-rdynamic" "" CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS}")
+
+elseif (${PLATFORM} STREQUAL "DRM")
+    list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c)
+    list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/raylib_opengl_interop.c)
+
 endif ()
 endif ()
 
 
 include_directories(BEFORE SYSTEM others/external/include)
 include_directories(BEFORE SYSTEM others/external/include)