blob: cabee46db3f928e1d41d05417bb4afbc041b5b49 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#.rst:
# FindOpenGl
# ----------
# Finds the FindOpenGl library
#
# This will define the following target:
#
# OpenGL::GL - The OpenGL library
if(NOT TARGET OpenGL::GL)
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_check_modules(PC_OPENGL gl QUIET)
endif()
find_library(OPENGL_gl_LIBRARY NAMES GL OpenGL
HINTS ${PC_OPENGL_gl_LIBDIR} ${CMAKE_OSX_SYSROOT}/System/Library
PATH_SUFFIXES Frameworks
NO_CACHE)
find_path(OPENGL_INCLUDE_DIR NAMES GL/gl.h gl.h
HINTS ${PC_OPENGL_gl_INCLUDEDIR} ${OPENGL_gl_LIBRARY}/Headers
NO_CACHE)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenGl
REQUIRED_VARS OPENGL_gl_LIBRARY OPENGL_INCLUDE_DIR)
if(OPENGL_FOUND)
if(CORE_SYSTEM_NAME STREQUAL osx)
# Cmake only added support for Frameworks as the IMPORTED_LOCATION as of 3.28
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8586
# Until we move to cmake 3.28 as minimum, explicitly set to binary inside framework
if(OPENGL_gl_LIBRARY MATCHES "/([^/]+)\\.framework$")
set(_gl_fw "${OPENGL_gl_LIBRARY}/${CMAKE_MATCH_1}")
if(EXISTS "${_gl_fw}.tbd")
string(APPEND _gl_fw ".tbd")
endif()
set(OPENGL_gl_LIBRARY ${_gl_fw})
endif()
endif()
add_library(OpenGL::GL UNKNOWN IMPORTED)
set_target_properties(OpenGL::GL PROPERTIES
IMPORTED_LOCATION "${OPENGL_gl_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${OPENGL_INCLUDE_DIR}"
INTERFACE_COMPILE_DEFINITIONS HAS_GL=1)
set_property(GLOBAL APPEND PROPERTY INTERNAL_DEPS_PROP OpenGL::GL)
endif()
endif()
|