Skip to content

Commit b6b3e9b

Browse files
committed
Fix linux ci build error
1 parent a3ee309 commit b6b3e9b

1 file changed

Lines changed: 12 additions & 24 deletions

File tree

examples/desktop.cmake

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,15 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
55
set(DESKTOP_EXAMPLES_DIR ${CMAKE_CURRENT_LIST_DIR}/desktop)
66

77
# GLFW detection and setup
8-
set(GLFW_AVAILABLE FALSE)
8+
set(GLFW_AVAILABLE OFF)
99

1010
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
1111
if(NOT GLFW_AVAILABLE)
1212
find_package(glfw3 QUIET)
1313

1414
if(glfw3_FOUND)
15-
find_package(OpenGL REQUIRED)
16-
set(GLFW_AVAILABLE TRUE)
15+
set(GLFW_AVAILABLE ON)
1716
set(GLFW_TARGET glfw)
18-
message(STATUS "ccap: Using system-installed GLFW via CMake")
1917
endif()
2018
endif()
2119

@@ -31,7 +29,7 @@ else()
3129
set(GLFW_INSTALL OFF CACHE BOOL "Generate installation target" FORCE)
3230

3331
add_subdirectory(${DESKTOP_EXAMPLES_DIR}/glfw)
34-
set(GLFW_AVAILABLE TRUE)
32+
set(GLFW_AVAILABLE ON)
3533
set(GLFW_TARGET glfw)
3634
message(STATUS "ccap: Using bundled GLFW")
3735
endif()
@@ -56,32 +54,22 @@ foreach(EXAMPLE ${EXAMPLE_SOURCE})
5654
)
5755
endif()
5856

59-
# If NAME contains glfw, link glfw3 and OpenGL, etc.
57+
# If NAME contains glfw, link glfw3 and optionally OpenGL
6058
if(${EXAMPLE_NAME} MATCHES "glfw")
61-
target_link_libraries(${EXAMPLE_NAME} PRIVATE
62-
${GLFW_TARGET}
63-
)
59+
target_link_libraries(${EXAMPLE_NAME} PRIVATE ${GLFW_TARGET})
6460

65-
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
66-
# On Linux, link OpenGL libraries
67-
target_link_libraries(${EXAMPLE_NAME} PRIVATE
68-
OpenGL::GL
69-
)
70-
else()
61+
# On Linux, OpenGL functions are loaded dynamically via GLAD
62+
# GLAD uses function pointers provided by GLFW (glfwGetProcAddress)
63+
# No additional libraries needed for dynamic loading
64+
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
7165
if(APPLE)
72-
target_link_libraries(${EXAMPLE_NAME} PRIVATE
73-
"-framework OpenGL"
74-
)
66+
target_link_libraries(${EXAMPLE_NAME} PRIVATE "-framework OpenGL")
7567
endif()
7668

77-
target_include_directories(${EXAMPLE_NAME} PUBLIC
78-
${DESKTOP_EXAMPLES_DIR}/glfw/include
79-
)
69+
target_include_directories(${EXAMPLE_NAME} PUBLIC ${DESKTOP_EXAMPLES_DIR}/glfw/include)
8070
endif()
8171

82-
target_include_directories(${EXAMPLE_NAME} PUBLIC
83-
${DESKTOP_EXAMPLES_DIR}
84-
)
72+
target_include_directories(${EXAMPLE_NAME} PUBLIC ${DESKTOP_EXAMPLES_DIR})
8573

8674
message(STATUS "ccap: Add example: ${EXAMPLE_NAME} with GLFW")
8775
else()

0 commit comments

Comments
 (0)