# sources which should be compiled into the library
SET( SRCS 3dr_axes_renderer.cpp  
          3dr_gtk_widget_display.cpp   
          3dr_point_set_renderer.cpp  
          3dr_display.cpp        
          3dr_height_map_renderer.cpp  
          3dr_renderable.cpp          
          3dr_gtk_display.cpp    
          3dr_mesh_renderer.cpp        
          3dr_sdl_display.cpp 
          3dr_bounds.cpp 
          3dr_bounds_renderer.cpp 
          3dr_ship_renderer.cpp )


# Build the library on 'make'
ADD_LIBRARY( 3dRender SHARED ${SRCS} )

TARGET_LINK_LIBRARIES( 3dRender PRIVATE gl2ps
                                ${OPENCV_LIBRARIES} 
                                ${SDL_LIBRARY}
                                ${GTK_LIBRARIES} 
                                ${GTKGLEXT_LIBRARIES} 
                                lib3dobjects::3dObjects  )

TARGET_INCLUDE_DIRECTORIES(3dRender INTERFACE $<INSTALL_INTERFACE:include/lib3dRender> $<TARGET_PROPERTY:lib3dobjects::3dObjects,INTERFACE_INCLUDE_DIRECTORIES>)

# this should be kept in sync with the binary package name
# and be updated when the ABI (not just API) changes
SET_PROPERTY(TARGET 3dRender PROPERTY VERSION ${LIB3DRENDER_VERSION})
SET_PROPERTY(TARGET 3dRender PROPERTY SOVERSION 1)
# Install the library on 'make install'
INSTALL(TARGETS 3dRender EXPORT Lib3dRenderTargets LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

