@@ -12,10 +12,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
1212 find_package (glfw3 QUIET )
1313
1414 if (glfw3_FOUND)
15- find_package (OpenGL REQUIRED )
1615 set (GLFW_AVAILABLE TRUE )
1716 set (GLFW_TARGET glfw)
18- message (STATUS "ccap: Using system-installed GLFW via CMake" )
1917 endif ()
2018 endif ()
2119
@@ -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