
# glew plugin
find_package( GLUT )
find_package( GLEW )
if( GLUT_FOUND AND GLEW_FOUND )
   message( "found GLUT: ${GLUT_INCLUDE_DIR}" )
   include_directories( ${GLUT_INCLUDE_DIR} )
   include_directories( ${OpenLibraries_SOURCE_DIR}/src )
   set( NAME openmedialib_glew )

   if( WIN32 )
      add_definitions( -DML_PLUGIN_EXPORTS )
      add_definitions( -DOPENIMAGELIB_LIBNAME=\\\"${NAME}\\\" )
      add_definitions( -DOPENIMAGELIB_VERSION=\\\"${VERSION_STRING}\\\" )
      add_definitions( -DOPENIMAGELIB_BUILD )
      set( NAME "${NAME}${LIBRARY_IDENTIFIER}" )
   endif( WIN32 )

   IF( UNIX )
       IF( APPLE )
           #Does OS X need a HAVE_GL_GLUT_H definition?
       ELSE( APPLE )
           ADD_DEFINITIONS( -DHAVE_GL_GLUT_H )
       ENDIF( APPLE )
   ENDIF( UNIX )

   set( SOURCES
        glew_plugin.cpp )

   install( 
        FILES
        glew_plugin.opl
        DESTINATION "lib/${PACKAGE}/openmedialib/plugins" )

   add_library( ${NAME} SHARED ${SOURCES} )
   install( TARGETS ${NAME} 
            RUNTIME DESTINATION "lib/${PACKAGE}/openmedialib/plugins"
            LIBRARY DESTINATION "lib/${PACKAGE}/openmedialib/plugins" )

   if( WIN32 )
      if( MSVC80 )
          set( COMPILER_PATH "C:/Program\ Files/Microsoft\ Visual\ Studio\ 8/VC" )
      endif( MSVC80 )
      if( MSVC71 )
          set( COMPILER_PATH "C:/Program\ Files/Microsoft\ Visual\ Studio\ .NET\ 2003/Vc7" )
      endif( MSVC71 )
      set( GLUT_ROOT_PATH "${COMPILER_PATH}/PlatformSDK" )
   endif( WIN32 )

   # required links 
   link_directories( ${OpenLibraries_BINARY_DIR}/src/openpluginlib/pl 
                     ${OpenLibraries_BINARY_DIR}/src/openimagelib/il 
                     ${openmedialib_ml_BINARY_DIR} )
   target_link_libraries( ${NAME} ${GLUT_LIBRARY} )

   target_link_libraries( ${NAME} "openpluginlib_pl${LIBRARY_IDENTIFIER}" 
                                  "openimagelib_il${LIBRARY_IDENTIFIER}" 
                                  "openmedialib_ml${LIBRARY_IDENTIFIER}" 
                                  ${GLEW_LIBRARY} 
                                  ${GLUT_LIBRARY} 
                                  ${Boost_FILESYSTEM_LIBRARY} )

else ( GLUT_FOUND AND GLEW_FOUND )
    message( "failed to find GLUT or GLEW; cannot build glew plugin" )
endif( GLUT_FOUND AND GLEW_FOUND )
