Skip to content

Commit cb4fb07

Browse files
CMake: improved handling of OpenGL and X11 libraries on linux
1 parent 7962896 commit cb4fb07

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

CMakeLists.txt

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -469,35 +469,40 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
469469
endif()
470470
endif()
471471

472-
if(PLATFORM_MACOS)
472+
if(PLATFORM_LINUX)
473+
find_library(OPENGL_LIBRARY GL)
474+
if (NOT OPENGL_LIBRARY)
475+
message(FATAL_ERROR "Failed to find OpenGL library")
476+
endif()
477+
elseif(PLATFORM_MACOS)
473478
find_library(APP_KIT AppKit)
474479
if (NOT APP_KIT)
475-
message(FATAL_ERROR "AppKit not found")
480+
message(FATAL_ERROR "Failed to find AppKit framework")
476481
endif()
477482
elseif(PLATFORM_IOS)
478483
find_library(CORE_FOUNDATION CoreFoundation)
479484
if(NOT CORE_FOUNDATION)
480-
message(FATAL_ERROR "Cannot find CoreFoundation framework")
485+
message(FATAL_ERROR "Failed to find CoreFoundation framework")
481486
endif()
482487

483488
find_library(FOUNDATION Foundation)
484489
if(NOT FOUNDATION)
485-
message(FATAL_ERROR "Cannot find Foundation framework")
490+
message(FATAL_ERROR "Failed to find Foundation framework")
486491
endif()
487492

488493
find_library(OPENGLES OpenGLES)
489494
if(NOT OPENGLES)
490-
message(FATAL_ERROR "Cannot find OpenGLES framework")
495+
message(FATAL_ERROR "Failed to find OpenGLES framework")
491496
endif()
492497
elseif(PLATFORM_TVOS)
493498
find_library(CORE_FOUNDATION CoreFoundation)
494499
if(NOT CORE_FOUNDATION)
495-
message(FATAL_ERROR "Cannot find CoreFoundation framework")
500+
message(FATAL_ERROR "Failed to find CoreFoundation framework")
496501
endif()
497502

498503
find_library(FOUNDATION Foundation)
499504
if(NOT FOUNDATION)
500-
message(FATAL_ERROR "Cannot find Foundation framework")
505+
message(FATAL_ERROR "Failed to find Foundation framework")
501506
endif()
502507
endif()
503508

Graphics/Archiver/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,8 @@ if(GL_SUPPORTED OR GLES_SUPPORTED)
132132
if(PLATFORM_WIN32)
133133
target_link_libraries(Diligent-Archiver-static PRIVATE GLEW::glew opengl32.lib)
134134
elseif(PLATFORM_LINUX)
135-
target_link_libraries(Diligent-Archiver-static PRIVATE GLEW::glew GL X11)
135+
find_package(X11 REQUIRED)
136+
target_link_libraries(Diligent-Archiver-static PRIVATE GLEW::glew ${OPENGL_LIBRARY} X11::X11)
136137
elseif(PLATFORM_MACOS)
137138
find_package(OpenGL REQUIRED)
138139
target_link_libraries(Diligent-Archiver-static PRIVATE GLEW::glew ${OPENGL_LIBRARY})

Graphics/GraphicsEngineOpenGL/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,8 @@ if(PLATFORM_WIN32)
198198
elseif(PLATFORM_ANDROID)
199199
set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} GLESv3 EGL)
200200
elseif(PLATFORM_LINUX)
201-
set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} GLEW::glew GL X11)
201+
find_package(X11 REQUIRED)
202+
set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} GLEW::glew ${OPENGL_LIBRARY} X11::X11)
202203
elseif(PLATFORM_MACOS)
203204
find_package(OpenGL REQUIRED)
204205
set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} GLEW::glew ${OPENGL_LIBRARY})

0 commit comments

Comments
 (0)