project(drape_frontend) execute_process( COMMAND python ${OMIM_ROOT}/tools/autobuild/shader_preprocessor.py ${OMIM_ROOT}/drape_frontend/shaders shader_index.txt shaders_lib.glsl ${OMIM_ROOT}/drape_frontend shader_def ) include_directories( . watch ${OMIM_ROOT}/3party/protobuf/protobuf/src ${OMIM_ROOT}/3party/expat/lib ${OMIM_ROOT}/3party/freetype/include ${OMIM_ROOT}/3party/jansson/src ${OMIM_ROOT}/3party/glm ) 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 area_shape.cpp area_shape.hpp arrow3d.cpp arrow3d.hpp backend_renderer.cpp backend_renderer.hpp base_renderer.cpp base_renderer.hpp batch_merge_helper.cpp batch_merge_helper.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 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_safe_ptr.hpp drape_hints.hpp drape_measurer.cpp drape_measurer.hpp engine_context.cpp engine_context.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/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.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 render_group.cpp render_group.hpp render_node.cpp render_node.hpp render_state.cpp render_state.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 shader_def.cpp shader_def.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_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 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 ) add_library(${PROJECT_NAME} ${SRC}) set( DRAPE_SHADERS_SRC shaders/area.vsh.glsl shaders/area3d.vsh.glsl shaders/area3d_outline.vsh.glsl shaders/arrow3d.fsh.glsl shaders/arrow3d.vsh.glsl shaders/arrow3d_outline.fsh.glsl shaders/arrow3d_shadow.fsh.glsl shaders/arrow3d_shadow.vsh.glsl shaders/circle.fsh.glsl shaders/circle.vsh.glsl shaders/circle_point.fsh.glsl shaders/circle_point.vsh.glsl shaders/colored_symbol.fsh.glsl shaders/colored_symbol.vsh.glsl shaders/colored_symbol_billboard.vsh.glsl shaders/dashed_line.fsh.glsl shaders/dashed_line.vsh.glsl shaders/debug_rect.fsh.glsl shaders/debug_rect.vsh.glsl shaders/hatching_area.fsh.glsl shaders/hatching_area.vsh.glsl shaders/line.fsh.glsl shaders/line.vsh.glsl shaders/masked_texturing.fsh.glsl shaders/masked_texturing.vsh.glsl shaders/masked_texturing_billboard.vsh.glsl shaders/my_position.vsh.glsl shaders/path_symbol.vsh.glsl shaders/position_accuracy3d.vsh.glsl shaders/route.fsh.glsl shaders/route.vsh.glsl shaders/route_arrow.fsh.glsl shaders/route_arrow.vsh.glsl shaders/route_dash.fsh.glsl shaders/route_marker.fsh.glsl shaders/route_marker.vsh.glsl shaders/ruler.vsh.glsl shaders/screen_quad.vsh.glsl shaders/shader_index.txt shaders/shaders_lib.glsl shaders/smaa_blending_weight.fsh.glsl shaders/smaa_blending_weight.vsh.glsl shaders/smaa_edges.fsh.glsl shaders/smaa_edges.vsh.glsl shaders/smaa_final.fsh.glsl shaders/smaa_final.vsh.glsl shaders/solid_color.fsh.glsl shaders/text.fsh.glsl shaders/text.vsh.glsl shaders/text_billboard.vsh.glsl shaders/text_fixed.fsh.glsl shaders/text_outlined.vsh.glsl shaders/text_outlined_billboard.vsh.glsl shaders/text_outlined_gui.vsh.glsl shaders/texturing.fsh.glsl shaders/texturing.vsh.glsl shaders/texturing3d.fsh.glsl shaders/texturing_billboard.vsh.glsl shaders/texturing_gui.vsh.glsl shaders/traffic.fsh.glsl shaders/traffic.vsh.glsl shaders/traffic_line.fsh.glsl shaders/traffic_line.vsh.glsl shaders/user_mark.fsh.glsl shaders/user_mark.vsh.glsl shaders/user_mark_billboard.vsh.glsl ) add_custom_target(shaders SOURCES ${DRAPE_SHADERS_SRC}) omim_add_test_subdirectory(drape_frontend_tests)