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