Support off-screen mode

This commit is contained in:
Gyusun Yeom 2021-08-22 21:24:41 +09:00
parent 23b9557df8
commit 6940c54fc1

View File

@ -31,6 +31,7 @@ include("GeneratePkgConfig.cmake")
option(glew-cmake_BUILD_SHARED "Build the shared glew library" ON)
option(glew-cmake_BUILD_STATIC "Build the static glew library" ON)
option(USE_GLU "Use GLU" OFF)
option(GLEW_OSMESA "Off-screen Mesa mode" OFF)
option(PKG_CONFIG_REPRESENTATIVE_TARGET "Generate pc file for specified target as glew. libglew_static|libglew_shared" OFF)
option(ONLY_LIBS "Do not build executables" OFF)
@ -81,32 +82,33 @@ else()
endif()
list(APPEND pc_requires gl)
if(POLICY CMP0072)
# GLVND
if(USE_NAMESPACED_LIB)
if(USE_NAMESPACED_LIB)
list(APPEND LIBRARIES OpenGL::GL)
if(NOT (WIN32 OR APPLE))
list(APPEND LIBRARIES OpenGL::GLX)
endif()
else()
list(APPEND LIBRARIES ${OPENGL_opengl_LIBRARY})
if(NOT (WIN32 OR APPLE))
list(APPEND LIBRARIES ${OPENGL_glx_LIBRARY})
endif()
endif()
else()
# Non GLVND
if(USE_NAMESPACED_LIB)
list(APPEND LIBRARIES OpenGL::OpenGL)
else()
list(APPEND LIBRARIES ${OPENGL_gl_LIBRARY})
endif()
list(APPEND LIBRARIES ${OPENGL_opengl_LIBRARY})
endif()
# OS Specific dependencies
if(APPLE)
find_library(AGL_LIBRARY AGL)
find_library(AGL_LIBRARY AGL REQUIRED)
list(APPEND LIBRARIES ${AGL_LIBRARY})
elseif(NOT WIN32)
if(GLEW_OSMESA)
find_library(OSMESA_LIBRARY OSMesa REQUIRED)
list(APPEND LIBRARIES ${OSMESA_LIBRARY})
list(APPEND DEFINITIONS -DGLEW_OSMESA)
list(APPEND pc_requires osmesa)
else()
if(NOT OpenGL_GLX_FOUND)
message(FATAL_ERROR "GLX is not found. Try with PREFER_GLVND=NO")
endif()
if(USE_NAMESPACED_LIB)
list(APPEND LIBRARIES OpenGL::GLX)
else()
list(APPEND LIBRARIES ${OPENGL_glx_LIBRARY})
endif()
find_package(X11 REQUIRED)
list(APPEND pc_requires x11 xext)
@ -115,6 +117,7 @@ elseif(NOT WIN32)
else()
list(APPEND LIBRARIES ${X11_X11_LIB} ${X11_Xext_LIB})
endif()
endif()
endif()
set(GLEW_TARGETS)