64 lines
1.9 KiB
CMake
64 lines
1.9 KiB
CMake
find_package(PkgConfig)
|
|
|
|
pkg_check_modules(PC_GLEW QUIET glew)
|
|
|
|
set(GLEW_STANDARD_DEFINITIONS ${PC_GLEW_DEFINITIONS}
|
|
CACHE STRING
|
|
"GLEW required CFLAGS")
|
|
set(GLEW_STATIC_DEFINITIONS ${PC_GLEW_STATIC_DEFINITIONS}
|
|
CACHE STRING
|
|
"GLEW static required CFLAGS")
|
|
|
|
find_path(GLEW_STANDARD_INCLUDE_DIR GL/glew.h
|
|
HINTS ${PC_GLEW_INCLUDEDIR}
|
|
${PC_GLEW_INCLUDE_DIRS})
|
|
find_path(GLEW_STATIC_INCLUDE_DIR GL/glew.h
|
|
HINTS ${PC_GLEW_STATIC_INCLUDEDIR}
|
|
${PC_GLEW_STATIC_INCLUDE_DIRS})
|
|
|
|
find_library(GLEW_STANDARD_LIBRARY
|
|
NAMES ${PC_GLEW_LIBRARIES} GLEW glew32 glew glew32s
|
|
HINTS ${PC_GLEW_LIBDIR}
|
|
${PC_GLEW_LIBRARY_DIRS}
|
|
PATH_SUFFIXES lib64)
|
|
set(lib_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX}
|
|
${CMAKE_DYNAMIC_LIBRARY_SUFFIX} ${CMAKE_SHARED_OBJECT_SUFFIX})
|
|
find_library(GLEW_STATIC_LIBRARY
|
|
NAMES ${PC_GLEW_STATIC_LIBRARIES} GLEW glew32 glew glew32s
|
|
HINTS ${PC_GLEW_STATIC_LIBDIR}
|
|
${PC_GLEW_STATIC_LIBRARY_DIRS}
|
|
PATH_SUFFIXES lib64)
|
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ${lib_suffixes})
|
|
unset(lib_suffixes)
|
|
|
|
if(GLEW_FIND_COMPONENTS AND
|
|
GLEW_FIND_COMPONENTS STREQUAL "static")
|
|
set(GLEW_DEFINITION ${GLEW_STATIC_DEFINITIONS})
|
|
set(GLEW_INCLUDE_DIR ${GLEW_STATIC_INCLUDE_DIR})
|
|
set(GLEW_LIBRARY ${GLEW_STATIC_LIBRARY})
|
|
else()
|
|
set(GLEW_DEFINITION ${GLEW_STANDARD_DEFINITIONS})
|
|
set(GLEW_INCLUDE_DIR ${GLEW_STANDARD_INCLUDE_DIR})
|
|
set(GLEW_LIBRARY ${GLEW_STANDARD_LIBRARY})
|
|
endif()
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(GLEW STANDARD_MESSAGE
|
|
GLEW_INCLUDE_DIR GLEW_LIBRARY)
|
|
|
|
if(GLEW_FOUND)
|
|
set(GLEW_DEFINITIONS ${GLEW_DEFINITION})
|
|
set(GLEW_INCLUDE_DIRS ${GLEW_INCLUDE_DIR})
|
|
set(GLEW_LIBRARIES ${GLEW_LIBRARY})
|
|
endif()
|
|
|
|
mark_as_advanced(
|
|
GLEW_STANDARD_DEFINITIONS
|
|
GLEW_STANDARD_INCLUDE_DIR
|
|
GLEW_STANDARD_LIBRARY
|
|
|
|
GLEW_STATIC_DEFINITIONS
|
|
GLEW_STATIC_INCLUDE_DIR
|
|
GLEW_STATIC_LIBRARY)
|