From 9e5fc56291a6b1cbcb118bf75302fa0069bedf72 Mon Sep 17 00:00:00 2001 From: Timofey Date: Wed, 9 Nov 2016 18:51:01 +0300 Subject: [PATCH] Added routing and routing tests. --- 3party/expat/CMakeLists.txt | 7 +-- 3party/freetype/CMakeLists.txt | 7 +-- 3party/fribidi/CMakeLists.txt | 7 +-- 3party/osrm/CMakeLists.txt | 29 +++++++++ CMakeLists.txt | 5 ++ map/CMakeLists.txt | 12 ++-- map/mwm_tests/CMakeLists.txt | 8 ++- routing/CMakeLists.txt | 93 ++++++++++++++++++++++++++++ routing/routing_tests/CMakeLists.txt | 61 ++++++++++++++++++ 9 files changed, 203 insertions(+), 26 deletions(-) create mode 100644 3party/osrm/CMakeLists.txt create mode 100644 routing/CMakeLists.txt create mode 100644 routing/routing_tests/CMakeLists.txt diff --git a/3party/expat/CMakeLists.txt b/3party/expat/CMakeLists.txt index 612a143c14..1f333580b3 100644 --- a/3party/expat/CMakeLists.txt +++ b/3party/expat/CMakeLists.txt @@ -1,6 +1,4 @@ -cmake_minimum_required(VERSION 3.2) - -project(expat C CXX) +project(expat) add_definitions(-DHAVE_MEMMOVE) @@ -8,7 +6,6 @@ add_compile_options( "-Wall" ) - set( SRC lib/ascii.h @@ -25,4 +22,4 @@ set( lib/xmltok.h ) -add_library(expat ${SRC}) +add_library(${PROJECT_NAME} ${SRC}) diff --git a/3party/freetype/CMakeLists.txt b/3party/freetype/CMakeLists.txt index 7dda4bbb34..c205922f18 100644 --- a/3party/freetype/CMakeLists.txt +++ b/3party/freetype/CMakeLists.txt @@ -1,6 +1,4 @@ -cmake_minimum_required(VERSION 3.2) - -project(freetype C CXX) +project(freetype) add_definitions(-DFT2_BUILD_LIBRARY) @@ -14,7 +12,6 @@ add_compile_options( include_directories(include) - set( SRC src/autofit/afangles.c @@ -129,4 +126,4 @@ set( src/cache/ftstrokedcache.c ) -add_library(freetype ${SRC}) +add_library(${PROJECT_NAME} ${SRC}) diff --git a/3party/fribidi/CMakeLists.txt b/3party/fribidi/CMakeLists.txt index 3ec3f4bbd6..0a6c797e6d 100644 --- a/3party/fribidi/CMakeLists.txt +++ b/3party/fribidi/CMakeLists.txt @@ -1,6 +1,4 @@ -cmake_minimum_required(VERSION 3.2) - -project(fribidi C CXX) +project(fribidi) include_directories(lib ./) @@ -10,7 +8,6 @@ add_compile_options( "-Wall" ) - set( SRC config_android.h @@ -57,4 +54,4 @@ set( lib/run.h ) -add_library(fribidi ${SRC}) +add_library(${PROJECT_NAME} ${SRC}) diff --git a/3party/osrm/CMakeLists.txt b/3party/osrm/CMakeLists.txt new file mode 100644 index 0000000000..8e34bd8e22 --- /dev/null +++ b/3party/osrm/CMakeLists.txt @@ -0,0 +1,29 @@ +project(osrm) + +add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY) +include_directories( + ${OMIM_ROOT}/3party/osrm/osrm-backend/include + ${OMIM_ROOT}/3party/osrm/osrm-backend/third_party +) + +set( + SRC + boost_stub.cpp + osrm-backend/data_structures/coordinate.cpp + osrm-backend/data_structures/coordinate_calculation.hpp + osrm-backend/data_structures/coordinate_calculation.cpp + osrm-backend/data_structures/search_engine_data.cpp + osrm-backend/data_structures/phantom_node.cpp + osrm-backend/util/mercator.cpp + osrm-backend/util/mercator.hpp +) + +# if (APPLE) +# target_compile_options(${PROJECT_NAME} PUBLIC "-fobjc-arc") +#endif() + +add_library(${PROJECT_NAME} ${SRC}) + +#omim_add_test_subdirectory(osrm_tests) +#omim_add_test(${project} ${SRC}) +# omim_link_libraries(osrm ...) diff --git a/CMakeLists.txt b/CMakeLists.txt index 07b4cdde4f..9d515f6ecd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,6 +133,9 @@ endmacro() add_subdirectory(3party/jansson) add_subdirectory(3party/minizip) add_subdirectory(3party/tomcrypt) +add_subdirectory(3party/freetype) +add_subdirectory(3party/fribidi) +add_subdirectory(3party/expat) add_subdirectory(map) add_compile_options( @@ -144,6 +147,7 @@ add_subdirectory(3party/protobuf) add_subdirectory(3party/liboauthcpp) add_subdirectory(3party/pugixml) add_subdirectory(3party/succinct) +add_subdirectory(3party/osrm) add_subdirectory(base) add_subdirectory(coding) @@ -154,5 +158,6 @@ add_subdirectory(stats) add_subdirectory(storage) add_subdirectory(editor) add_subdirectory(indexer) +add_subdirectory(routing) add_subdirectory(search) add_subdirectory(tracking) diff --git a/map/CMakeLists.txt b/map/CMakeLists.txt index a610a5f254..fb14d486b3 100644 --- a/map/CMakeLists.txt +++ b/map/CMakeLists.txt @@ -1,3 +1,5 @@ +project(map) + include_directories( ${OMIM_ROOT}/3party/protobuf/src ${OMIM_ROOT}/3party/freetype/include @@ -5,11 +7,7 @@ include_directories( ${OMIM_ROOT}/3party/glm ) -add_compile_options( - "-Wall" -) - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +append(CMAKE_CXX_FLAGS "-std=c++11") set( SRC @@ -17,8 +15,6 @@ set( address_finder.cpp api_mark_point.cpp api_mark_point.hpp - booking_api.cpp - booking_api.hpp bookmark_manager.cpp bookmark_manager.hpp bookmark.cpp @@ -57,7 +53,7 @@ set( user_mark.hpp ) -add_library(map ${SRC}) +add_library(${PROJECT_NAME} ${SRC}) if (NOT PLATFORM_IPHONE AND NOT PLATFORM_ANDROID) include_directories( diff --git a/map/mwm_tests/CMakeLists.txt b/map/mwm_tests/CMakeLists.txt index 653ec2810e..3a5148ad99 100644 --- a/map/mwm_tests/CMakeLists.txt +++ b/map/mwm_tests/CMakeLists.txt @@ -1,3 +1,5 @@ +project(mwm_tests) + add_compile_options( "-Wall" "-std=c++11" @@ -10,9 +12,9 @@ set( mwm_index_test.cpp ) -omim_add_test(mwm_tests ${SRC}) +omim_add_test(${PROJECT_NAME} ${SRC}) omim_link_libraries( - mwm_tests + ${PROJECT_NAME} map search storage @@ -40,7 +42,7 @@ omim_link_libraries( if (PLATFORM_MAC) omim_link_libraries( - mwm_tests + ${PROJECT_NAME} "-framework Cocoa" "-framework IOKit" "-framework QuartzCore" diff --git a/routing/CMakeLists.txt b/routing/CMakeLists.txt new file mode 100644 index 0000000000..9059685f8b --- /dev/null +++ b/routing/CMakeLists.txt @@ -0,0 +1,93 @@ +project(routing) + +include_directories( + . + ${OMIM_ROOT}/3party/jansson/src + ${OMIM_ROOT}/3party/osrm/osrm-backend/include + ${OMIM_ROOT}/3party/osrm/osrm-backend/third_party +) + +set( + SRC + async_router.cpp + async_router.hpp + base/astar_algorithm.hpp + base/followed_polyline.cpp + base/followed_polyline.hpp + bicycle_directions.cpp + bicycle_directions.hpp + bicycle_model.cpp + bicycle_model.hpp + car_model.cpp + car_model.hpp + car_router.cpp + car_router.hpp + cross_mwm_road_graph.cpp + cross_mwm_road_graph.hpp + cross_mwm_router.cpp + cross_mwm_router.hpp + cross_routing_context.cpp + cross_routing_context.hpp + directions_engine.cpp + directions_engine.hpp + features_road_graph.cpp + features_road_graph.hpp + loaded_path_segment.hpp + nearest_edge_finder.cpp + nearest_edge_finder.hpp + online_absent_fetcher.cpp + online_absent_fetcher.hpp + online_cross_fetcher.cpp + online_cross_fetcher.hpp + osrm_data_facade.hpp + osrm_engine.cpp + osrm_engine.hpp + osrm_helpers.cpp + osrm_helpers.hpp + osrm_path_segment_factory.cpp + osrm_path_segment_factory.hpp + osrm2feature_map.cpp + osrm2feature_map.hpp + pedestrian_directions.cpp + pedestrian_directions.hpp + pedestrian_model.cpp + pedestrian_model.hpp + road_graph_router.cpp + road_graph_router.hpp + road_graph.cpp + road_graph.hpp + route.cpp + route.hpp + router_delegate.cpp + router_delegate.hpp + router.cpp + router.hpp + routing_algorithm.cpp + routing_algorithm.hpp + routing_helpers.hpp + routing_mapping.cpp + routing_mapping.hpp + routing_result_graph.hpp + routing_session.cpp + routing_session.hpp + routing_settings.hpp + speed_camera.cpp + speed_camera.hpp + turn_candidate.hpp + turns_generator.cpp + turns_generator.hpp + turns_notification_manager.cpp + turns_notification_manager.hpp + turns_sound_settings.cpp + turns_sound_settings.hpp + turns_tts_text.cpp + turns_tts_text.hpp + turns.cpp + turns.hpp + vehicle_model.cpp + vehicle_model.hpp +) + +add_library(${PROJECT_NAME} ${SRC}) +omim_add_test_subdirectory(routing_tests) + diff --git a/routing/routing_tests/CMakeLists.txt b/routing/routing_tests/CMakeLists.txt new file mode 100644 index 0000000000..e7e57decbe --- /dev/null +++ b/routing/routing_tests/CMakeLists.txt @@ -0,0 +1,61 @@ +project(routing_tests) + +include_directories(${OMIM_ROOT}/3party/osrm/osrm-backend/include) + +set( + SRC + astar_algorithm_test.cpp + astar_progress_test.cpp + astar_router_test.cpp + async_router_test.cpp + cross_routing_tests.cpp + followed_polyline_test.cpp + nearest_edge_finder_tests.cpp + online_cross_fetcher_test.cpp + osrm_router_test.cpp + road_graph_builder.cpp + road_graph_builder.hpp + road_graph_nearest_edges_test.cpp + route_tests.cpp + routing_mapping_test.cpp + routing_session_test.cpp + turns_generator_test.cpp + turns_sound_test.cpp + turns_tts_text_tests.cpp + vehicle_model_test.cpp +) + +omim_add_test(${PROJECT_NAME} ${SRC}) +omim_link_libraries( + ${PROJECT_NAME} + routing + indexer + platform_tests_support + oauthcpp + platform + editor + geometry + coding + base + osrm + protobuf + tomcrypt + succinct + opening_hours + jansson + stats_client + map + pugixml + stats_client + ${Qt5Core_LIBRARIES} + ${LIBZ} +) + +if (PLATFORM_MAC) + omim_link_libraries( + ${PROJECT_NAME} + "-framework Cocoa" + "-framework IOKit" + "-framework SystemConfiguration" + ) +endif() \ No newline at end of file