@@ -5,17 +5,15 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
55set (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
1010if (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
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" )
3735endif ()
@@ -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