From caa6ea0853af53e1d886fbe570a128e13aee040b Mon Sep 17 00:00:00 2001 From: Yuri Gorshenin Date: Fri, 13 Jan 2017 12:45:36 +0300 Subject: [PATCH] [search] Added CMakeLists for search tools. --- CMakeLists.txt | 1 + search/CMakeLists.txt | 1 + search/search_quality/CMakeLists.txt | 15 +++++++++ .../features_collector_tool/CMakeLists.txt | 33 +++++++++++++++++++ .../features_collector_tool.cpp | 22 ++++++++++--- .../search_quality_tool/CMakeLists.txt | 33 +++++++++++++++++++ 6 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 search/search_quality/CMakeLists.txt create mode 100644 search/search_quality/features_collector_tool/CMakeLists.txt create mode 100644 search/search_quality/search_quality_tool/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index ba5a0e44d0..5f346c9ee8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -129,6 +129,7 @@ function(omim_link_platform_deps target) ${target} "-framework CFNetwork" "-framework Foundation" + "-framework IOKit" "-framework SystemConfiguration" ) endif() diff --git a/search/CMakeLists.txt b/search/CMakeLists.txt index 7f8fb94d18..203e2d806e 100644 --- a/search/CMakeLists.txt +++ b/search/CMakeLists.txt @@ -135,3 +135,4 @@ add_library(${PROJECT_NAME} ${SRC}) omim_add_test_subdirectory(search_tests_support) omim_add_test_subdirectory(search_tests) omim_add_test_subdirectory(search_integration_tests) +add_subdirectory(search_quality) diff --git a/search/search_quality/CMakeLists.txt b/search/search_quality/CMakeLists.txt new file mode 100644 index 0000000000..d02a06a040 --- /dev/null +++ b/search/search_quality/CMakeLists.txt @@ -0,0 +1,15 @@ +project(search_quality) + +include_directories(${OMIM_ROOT}/3party/jansson/src) + +set(SRC + helpers.hpp + helpers.cpp + sample.hpp + sample.cpp +) + +add_library(${PROJECT_NAME} ${SRC}) + +add_subdirectory(features_collector_tool) +add_subdirectory(search_quality_tool) diff --git a/search/search_quality/features_collector_tool/CMakeLists.txt b/search/search_quality/features_collector_tool/CMakeLists.txt new file mode 100644 index 0000000000..f03afc038d --- /dev/null +++ b/search/search_quality/features_collector_tool/CMakeLists.txt @@ -0,0 +1,33 @@ +project(features_collector_tool) + +include_directories(${OMIM_ROOT}/3party/gflags/src) + +set(SRC features_collector_tool.cpp) + +add_executable(${PROJECT_NAME} ${SRC}) + +omim_link_libraries( + ${PROJECT_NAME} + search_tests_support + search + search_quality + storage + indexer + editor + platform + coding + geometry + base + oauthcpp + gflags + jansson + protobuf + stats_client + minizip + succinct + opening_hours + pugixml + ${Qt5Core_LIBRARIES} + ${Qt5Network_LIBRARIES} + ${LIBZ} +) diff --git a/search/search_quality/features_collector_tool/features_collector_tool.cpp b/search/search_quality/features_collector_tool/features_collector_tool.cpp index 2b7b295656..270b26e860 100644 --- a/search/search_quality/features_collector_tool/features_collector_tool.cpp +++ b/search/search_quality/features_collector_tool/features_collector_tool.cpp @@ -87,13 +87,27 @@ bool Matches(Context & context, Sample::Result const & golden, search::Result co if (!context.GetFeature(actual.GetFeatureID(), ft)) return false; - string name; - if (!ft.GetName(FeatureType::DEFAULT_LANG, name)) - name.clear(); auto const houseNumber = ft.GetHouseNumber(); auto const center = feature::GetCenter(ft); - return golden.m_name == strings::MakeUniString(name) && golden.m_houseNumber == houseNumber && + bool nameMatches = false; + if (golden.m_name.empty()) + { + nameMatches = true; + } + else + { + ft.ForEachName([&golden, &nameMatches](int8_t /* lang */, string const & name) { + if (golden.m_name == strings::MakeUniString(name)) + { + nameMatches = true; + return false; // breaks the loop + } + return true; // continues the loop + }); + } + + return nameMatches && golden.m_houseNumber == houseNumber && MercatorBounds::DistanceOnEarth(golden.m_pos, center) < kToleranceMeters; } diff --git a/search/search_quality/search_quality_tool/CMakeLists.txt b/search/search_quality/search_quality_tool/CMakeLists.txt new file mode 100644 index 0000000000..a7b3d90a05 --- /dev/null +++ b/search/search_quality/search_quality_tool/CMakeLists.txt @@ -0,0 +1,33 @@ +project(search_quality_tool) + +include_directories(${OMIM_ROOT}/3party/gflags/src) + +set(SRC search_quality_tool.cpp) + +add_executable(${PROJECT_NAME} ${SRC}) + +omim_link_libraries( + ${PROJECT_NAME} + search_tests_support + search + search_quality + storage + indexer + editor + platform + coding + geometry + base + oauthcpp + gflags + jansson + protobuf + stats_client + minizip + succinct + opening_hours + pugixml + ${Qt5Core_LIBRARIES} + ${Qt5Network_LIBRARIES} + ${LIBZ} +)