project(drape_frontend)

set(SRC
  animation/animation.cpp
  animation/animation.hpp
  animation/arrow_animation.cpp
  animation/arrow_animation.hpp
  animation/base_interpolator.cpp
  animation/base_interpolator.hpp
  animation/follow_animation.cpp
  animation/follow_animation.hpp
  animation/interpolation_holder.cpp
  animation/interpolation_holder.hpp
  animation/interpolations.cpp
  animation/interpolations.hpp
  animation/interpolators.cpp
  animation/interpolators.hpp
  animation/linear_animation.cpp
  animation/linear_animation.hpp
  animation/opacity_animation.cpp
  animation/opacity_animation.hpp
  animation/parallel_animation.cpp
  animation/parallel_animation.hpp
  animation/scale_animation.cpp
  animation/scale_animation.hpp
  animation/sequence_animation.cpp
  animation/sequence_animation.hpp
  animation/show_hide_animation.cpp
  animation/show_hide_animation.hpp
  animation/value_mapping.hpp
  animation_constants.hpp
  animation_system.cpp
  animation_system.hpp
  animation_utils.cpp
  animation_utils.hpp
  apply_feature_functors.cpp
  apply_feature_functors.hpp
  apply_feature_params.cpp
  apply_feature_params.hpp
  area_shape.cpp
  area_shape.hpp
  arrow3d.cpp
  arrow3d.hpp
  backend_renderer.cpp
  backend_renderer.hpp
  base_renderer.cpp
  base_renderer.hpp
  batcher_bucket.hpp
  batchers_pool.hpp
  circles_pack_shape.cpp
  circles_pack_shape.hpp
  color_constants.cpp
  color_constants.hpp
  colored_symbol_shape.cpp
  colored_symbol_shape.hpp
  custom_features_context.hpp
  debug_rect_renderer.cpp
  debug_rect_renderer.hpp
  drape_api.cpp
  drape_api.hpp
  drape_api_builder.cpp
  drape_api_builder.hpp
  drape_api_renderer.cpp
  drape_api_renderer.hpp
  drape_engine.cpp
  drape_engine.hpp
  drape_engine_params.hpp
  drape_engine_safe_ptr.hpp
  drape_hints.hpp
  drape_notifier.cpp
  drape_notifier.hpp
  drape_measurer.cpp
  drape_measurer.hpp
  engine_context.cpp
  engine_context.hpp
  frame_values.hpp
  frontend_renderer.cpp
  frontend_renderer.hpp
  gps_track_point.hpp
  gps_track_renderer.cpp
  gps_track_renderer.hpp
  gui/choose_position_mark.cpp
  gui/choose_position_mark.hpp
  gui/compass.cpp
  gui/compass.hpp
  gui/copyright_label.cpp
  gui/copyright_label.hpp
  gui/debug_label.cpp
  gui/debug_label.hpp
  gui/drape_gui.cpp
  gui/drape_gui.hpp
  gui/gui_text.cpp
  gui/gui_text.hpp
  gui/layer_render.cpp
  gui/layer_render.hpp
  gui/ruler.cpp
  gui/ruler.hpp
  gui/ruler_helper.cpp
  gui/ruler_helper.hpp
  gui/scale_fps_helper.hpp
  gui/shape.cpp
  gui/shape.hpp
  gui/skin.cpp
  gui/skin.hpp
  kinetic_scroller.cpp
  kinetic_scroller.hpp
  line_shape.cpp
  line_shape.hpp
  line_shape_helper.cpp
  line_shape_helper.hpp
  map_data_provider.cpp
  map_data_provider.hpp
  map_shape.hpp
  message.cpp
  message.hpp
  message_acceptor.cpp
  message_acceptor.hpp
  message_queue.cpp
  message_queue.hpp
  message_subclasses.hpp
  metaline_manager.cpp
  metaline_manager.hpp
  my_position.cpp
  my_position.hpp
  my_position_controller.cpp
  my_position_controller.hpp
  navigator.cpp
  navigator.hpp
  overlay_batcher.cpp
  overlay_batcher.hpp
  overlays_tracker.cpp
  overlays_tracker.hpp
  path_symbol_shape.cpp
  path_symbol_shape.hpp
  path_text_handle.cpp
  path_text_handle.hpp
  path_text_shape.cpp
  path_text_shape.hpp
  poi_symbol_shape.cpp
  poi_symbol_shape.hpp
  postprocess_renderer.cpp
  postprocess_renderer.hpp
  read_manager.cpp
  read_manager.hpp
  read_metaline_task.cpp
  read_metaline_task.hpp
  read_mwm_task.cpp
  read_mwm_task.hpp
  relations_draw_info.cpp
  relations_draw_info.hpp
  render_group.cpp
  render_group.hpp
  render_node.hpp
  render_state_extension.cpp
  render_state_extension.hpp
  requested_tiles.cpp
  requested_tiles.hpp
  route_builder.cpp
  route_builder.hpp
  route_renderer.cpp
  route_renderer.hpp
  route_shape.cpp
  route_shape.hpp
  rule_drawer.cpp
  rule_drawer.hpp
  scenario_manager.cpp
  scenario_manager.hpp
  screen_animations.cpp
  screen_animations.hpp
  screen_operations.cpp
  screen_operations.hpp
  screen_quad_renderer.cpp
  screen_quad_renderer.hpp
  selection_shape.cpp
  selection_shape.hpp
  selection_shape_generator.cpp
  selection_shape_generator.hpp
  shape_view_params.hpp
  stylist.cpp
  stylist.hpp
  text_handle.cpp
  text_handle.hpp
  text_layout.cpp
  text_layout.hpp
  text_shape.cpp
  text_shape.hpp
  threads_commutator.cpp
  threads_commutator.hpp
  tile_background_renderer.cpp
  tile_background_renderer.hpp
  tile_info.cpp
  tile_info.hpp
  tile_key.cpp
  tile_key.hpp
  tile_utils.cpp
  tile_utils.hpp
  traffic_generator.cpp
  traffic_generator.hpp
  traffic_renderer.cpp
  traffic_renderer.hpp
  transit_scheme_builder.cpp
  transit_scheme_builder.hpp
  transit_scheme_renderer.cpp
  transit_scheme_renderer.hpp
  user_event_stream.cpp
  user_event_stream.hpp
  user_mark_generator.cpp
  user_mark_generator.hpp
  user_mark_shapes.cpp
  user_mark_shapes.hpp
  user_marks_provider.cpp
  user_marks_provider.hpp
  visual_params.cpp
  visual_params.hpp
)

omim_add_library(${PROJECT_NAME} ${SRC})

target_link_libraries(${PROJECT_NAME}
  PUBLIC
    editor
    drape
    indexer
    traffic
    transit
    shaders
)

omim_add_test_subdirectory(drape_frontend_tests)
