xref: /aosp_15_r20/external/eigen/cmake/FindGLEW.cmake (revision bf2c37156dfe67e5dfebd6d394bad8b2ab5804d4)
1*bf2c3715SXin Li# Copyright (c) 2009 Boudewijn Rempt <[email protected]>
2*bf2c3715SXin Li#
3*bf2c3715SXin Li# Redistribution and use is allowed according to the terms of the BSD license.
4*bf2c3715SXin Li# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
5*bf2c3715SXin Li#
6*bf2c3715SXin Li# - try to find glew library and include files
7*bf2c3715SXin Li#  GLEW_INCLUDE_DIR, where to find GL/glew.h, etc.
8*bf2c3715SXin Li#  GLEW_LIBRARIES, the libraries to link against
9*bf2c3715SXin Li#  GLEW_FOUND, If false, do not try to use GLEW.
10*bf2c3715SXin Li# Also defined, but not for general use are:
11*bf2c3715SXin Li#  GLEW_GLEW_LIBRARY = the full path to the glew library.
12*bf2c3715SXin Li
13*bf2c3715SXin Liif (WIN32)
14*bf2c3715SXin Li
15*bf2c3715SXin Li  if(CYGWIN)
16*bf2c3715SXin Li
17*bf2c3715SXin Li    find_path( GLEW_INCLUDE_DIR GL/glew.h)
18*bf2c3715SXin Li
19*bf2c3715SXin Li    find_library( GLEW_GLEW_LIBRARY glew32
20*bf2c3715SXin Li      ${OPENGL_LIBRARY_DIR}
21*bf2c3715SXin Li      /usr/lib/w32api
22*bf2c3715SXin Li      /usr/X11R6/lib
23*bf2c3715SXin Li    )
24*bf2c3715SXin Li
25*bf2c3715SXin Li
26*bf2c3715SXin Li  else(CYGWIN)
27*bf2c3715SXin Li
28*bf2c3715SXin Li    find_path( GLEW_INCLUDE_DIR GL/glew.h
29*bf2c3715SXin Li      $ENV{GLEW_ROOT_PATH}/include
30*bf2c3715SXin Li    )
31*bf2c3715SXin Li
32*bf2c3715SXin Li    find_library( GLEW_GLEW_LIBRARY
33*bf2c3715SXin Li      NAMES glew glew32
34*bf2c3715SXin Li      PATHS
35*bf2c3715SXin Li      $ENV{GLEW_ROOT_PATH}/lib
36*bf2c3715SXin Li      ${OPENGL_LIBRARY_DIR}
37*bf2c3715SXin Li    )
38*bf2c3715SXin Li
39*bf2c3715SXin Li  endif(CYGWIN)
40*bf2c3715SXin Li
41*bf2c3715SXin Lielse (WIN32)
42*bf2c3715SXin Li
43*bf2c3715SXin Li  if (APPLE)
44*bf2c3715SXin Li# These values for Apple could probably do with improvement.
45*bf2c3715SXin Li    find_path( GLEW_INCLUDE_DIR glew.h
46*bf2c3715SXin Li      /System/Library/Frameworks/GLEW.framework/Versions/A/Headers
47*bf2c3715SXin Li      ${OPENGL_LIBRARY_DIR}
48*bf2c3715SXin Li    )
49*bf2c3715SXin Li    set(GLEW_GLEW_LIBRARY "-framework GLEW" CACHE STRING "GLEW library for OSX")
50*bf2c3715SXin Li    set(GLEW_cocoa_LIBRARY "-framework Cocoa" CACHE STRING "Cocoa framework for OSX")
51*bf2c3715SXin Li  else (APPLE)
52*bf2c3715SXin Li
53*bf2c3715SXin Li    find_path( GLEW_INCLUDE_DIR GL/glew.h
54*bf2c3715SXin Li      /usr/include/GL
55*bf2c3715SXin Li      /usr/openwin/share/include
56*bf2c3715SXin Li      /usr/openwin/include
57*bf2c3715SXin Li      /usr/X11R6/include
58*bf2c3715SXin Li      /usr/include/X11
59*bf2c3715SXin Li      /opt/graphics/OpenGL/include
60*bf2c3715SXin Li      /opt/graphics/OpenGL/contrib/libglew
61*bf2c3715SXin Li    )
62*bf2c3715SXin Li
63*bf2c3715SXin Li    find_library( GLEW_GLEW_LIBRARY GLEW
64*bf2c3715SXin Li      /usr/openwin/lib
65*bf2c3715SXin Li      /usr/X11R6/lib
66*bf2c3715SXin Li    )
67*bf2c3715SXin Li
68*bf2c3715SXin Li  endif (APPLE)
69*bf2c3715SXin Li
70*bf2c3715SXin Liendif (WIN32)
71*bf2c3715SXin Li
72*bf2c3715SXin Liset( GLEW_FOUND "NO" )
73*bf2c3715SXin Liif(GLEW_INCLUDE_DIR)
74*bf2c3715SXin Li  if(GLEW_GLEW_LIBRARY)
75*bf2c3715SXin Li    # Is -lXi and -lXmu required on all platforms that have it?
76*bf2c3715SXin Li    # If not, we need some way to figure out what platform we are on.
77*bf2c3715SXin Li    set( GLEW_LIBRARIES
78*bf2c3715SXin Li      ${GLEW_GLEW_LIBRARY}
79*bf2c3715SXin Li      ${GLEW_cocoa_LIBRARY}
80*bf2c3715SXin Li    )
81*bf2c3715SXin Li    set( GLEW_FOUND "YES" )
82*bf2c3715SXin Li
83*bf2c3715SXin Li#The following deprecated settings are for backwards compatibility with CMake1.4
84*bf2c3715SXin Li    set (GLEW_LIBRARY ${GLEW_LIBRARIES})
85*bf2c3715SXin Li    set (GLEW_INCLUDE_PATH ${GLEW_INCLUDE_DIR})
86*bf2c3715SXin Li
87*bf2c3715SXin Li  endif(GLEW_GLEW_LIBRARY)
88*bf2c3715SXin Liendif(GLEW_INCLUDE_DIR)
89*bf2c3715SXin Li
90*bf2c3715SXin Liif(GLEW_FOUND)
91*bf2c3715SXin Li  if(NOT GLEW_FIND_QUIETLY)
92*bf2c3715SXin Li    message(STATUS "Found Glew: ${GLEW_LIBRARIES}")
93*bf2c3715SXin Li  endif(NOT GLEW_FIND_QUIETLY)
94*bf2c3715SXin Lielse(GLEW_FOUND)
95*bf2c3715SXin Li  if(GLEW_FIND_REQUIRED)
96*bf2c3715SXin Li    message(FATAL_ERROR "Could not find Glew")
97*bf2c3715SXin Li  endif(GLEW_FIND_REQUIRED)
98*bf2c3715SXin Liendif(GLEW_FOUND)
99*bf2c3715SXin Li
100*bf2c3715SXin Limark_as_advanced(
101*bf2c3715SXin Li  GLEW_INCLUDE_DIR
102*bf2c3715SXin Li  GLEW_GLEW_LIBRARY
103*bf2c3715SXin Li  GLEW_Xmu_LIBRARY
104*bf2c3715SXin Li  GLEW_Xi_LIBRARY
105*bf2c3715SXin Li)
106