project(VTKGLEW)

include(vtkOpenGL)

include_directories(${VTKGLEW_SOURCE_DIR} ${VTKGLEW_SOURCE_DIR}/include)

# library object files common to compression and decompression
set(common_SRCS src/glew.c)

set_source_files_properties(${common_SRCS}
    PROPERTIES
      COMPILE_DEFINITIONS "GLEW_NO_GLU")

# GLEW with OSMesa only works on Linux systems right now.
if(VTK_OPENGL_HAS_OSMESA AND UNIX AND NOT APPLE)
  add_definitions(-DGLEW_OSMESA)
endif()

if(VTK_OPENGL_HAS_EGL)
  add_definitions(-DVTK_USE_OFFSCREEN_EGL)
endif()

vtk_add_library(vtkglew ${common_SRCS})
vtk_opengl_link(vtkglew)
if(VTK_OPENGL_HAS_OSMESA AND UNIX AND NOT APPLE)
  target_link_libraries(vtkglew LINK_PRIVATE ${CMAKE_DL_LIBS})
endif()

if(NOT VTK_INSTALL_NO_DEVELOPMENT)
  install(DIRECTORY ${VTKGLEW_SOURCE_DIR}/include
    DESTINATION ${VTK_INSTALL_INCLUDE_DIR}/vtkglew
    COMPONENT Development)
endif()
