From 568ab191f8ebaa186fb2a6bf959ce23fdeb6a74d Mon Sep 17 00:00:00 2001 From: Sergey Yershov Date: Fri, 20 Nov 2015 15:42:27 +0300 Subject: [PATCH] Add mapshot tool --- mapshot/mapshot.cpp | 127 ++++++ mapshot/mapshot.pro | 23 + omim.pro | 2 +- .../mapshot/mapshot.xcodeproj/project.pbxproj | 431 ++++++++++++++++++ 4 files changed, 582 insertions(+), 1 deletion(-) create mode 100644 mapshot/mapshot.cpp create mode 100644 mapshot/mapshot.pro create mode 100644 xcode/mapshot/mapshot.xcodeproj/project.pbxproj diff --git a/mapshot/mapshot.cpp b/mapshot/mapshot.cpp new file mode 100644 index 0000000000..800aeb53f7 --- /dev/null +++ b/mapshot/mapshot.cpp @@ -0,0 +1,127 @@ +#include "map/framework.hpp" + +#include "indexer/mercator.hpp" + +#include "base/string_utils.hpp" + +#include "std/fstream.hpp" +#include "std/iostream.hpp" +#include "std/string.hpp" + +#include "3party/gflags/src/gflags/gflags.h" + +#pragma mark Define options +//---------------------------------------------------------------------------------------- +DEFINE_bool(c, false, "Read places from stdin"); +DEFINE_string(place, "", "Define place in format \"lat;lon;zoom\""); +DEFINE_string(outpath, "./", "Path for output files"); +DEFINE_string(datapath, "", "Path to data directory"); +DEFINE_string(mwmpath, "", "Path to mwm files"); +DEFINE_int32(width, 480, "Resulting image width"); +DEFINE_int32(height, 640, "Resulting image height"); +//---------------------------------------------------------------------------------------- + +namespace +{ +struct Place +{ + double lat; + double lon; + int zoom; + int width; + int height; +}; + +Place ParsePlace(string const & src) +{ + Place p; + try + { + strings::SimpleTokenizer token(src, ";"); + p.lat = stod(*token); + p.lon = stod(*(++token)); + p.zoom = static_cast(stoi(*(++token))); + } + catch (exception & e) + { + cerr << "Error in [" << src << "]: " << e.what() << endl; + exit(1); + } + return p; +} + +void RenderPlace(Framework & framework, Place const & place, string const & filename) +{ + df::watch::FrameImage frame; + df::watch::FrameSymbols sym; + sym.m_showSearchResult = false; + + framework.DrawWatchFrame(MercatorBounds::FromLatLon(place.lat, place.lon), place.zoom - 17, + place.width, place.height, sym, frame); + + ofstream file(filename.c_str()); + file.write(reinterpret_cast(frame.m_data.data()), frame.m_data.size()); + file.close(); +} + +string FilenameSeq(string const & path) +{ + static size_t counter = 0; + stringstream filename; + filename << path << "mapshot" << setw(6) << setfill('0') << counter++ << ".png"; + return filename.str(); +} +} // namespace + +int main(int argc, char * argv[]) +{ + google::SetUsageMessage( + "Generate screenshots of MAPS.ME maps in chosen places, specified by coordinates and zoom."); + google::ParseCommandLineFlags(&argc, &argv, true); + + if (!FLAGS_c && FLAGS_place.empty()) + { + cerr << "Either -c or -place must be set" << endl; + return 1; + } + + if (!FLAGS_datapath.empty()) + GetPlatform().SetResourceDir(FLAGS_datapath); + + if (!FLAGS_mwmpath.empty()) + GetPlatform().SetWritableDirForTests(FLAGS_mwmpath); + + try + { + Framework f; + + auto processPlace = [&](string const & place) + { + Place p = ParsePlace(place); + p.width = FLAGS_width; + p.height = FLAGS_height; + string const & filename = FilenameSeq(FLAGS_outpath); + RenderPlace(f, p, filename); + cout << "Rendering " << place << " into " << filename << " is finished." << endl; + }; + + f.InitWatchFrameRenderer(1.1); + + if (!FLAGS_place.empty()) + processPlace(FLAGS_place); + + if (FLAGS_c) + { + for (string line; getline(cin, line);) + processPlace(line); + } + + f.ReleaseWatchFrameRenderer(); + return 0; + } + catch (exception & e) + { + cerr << e.what() << endl; + } + return 1; +} diff --git a/mapshot/mapshot.pro b/mapshot/mapshot.pro new file mode 100644 index 0000000000..f25ce051fa --- /dev/null +++ b/mapshot/mapshot.pro @@ -0,0 +1,23 @@ +# mapshot binary + +ROOT_DIR = .. +DEPENDENCIES = map drape_frontend routing search storage indexer drape platform geometry coding base \ + freetype expat fribidi tomcrypt gflags jansson protobuf osrm stats_client minizip succinct + +include($$ROOT_DIR/common.pri) + +INCLUDEPATH *= $$ROOT_DIR/3party/gflags/src + +CONFIG += console warn_on +CONFIG -= app_bundle +TEMPLATE = app + +# needed for Platform::WorkingDir() and unicode combining +QT *= core + +LIBS *= "-framework IOKit" + +SOURCES += \ + mapshot.cpp \ + +HEADERS += \ diff --git a/omim.pro b/omim.pro index e2572a93e2..1add248ca7 100644 --- a/omim.pro +++ b/omim.pro @@ -63,7 +63,7 @@ SUBDIRS = 3party base coding geometry indexer routing CONFIG(desktop) { benchmark_tool.subdir = map/benchmark_tool benchmark_tool.depends = 3party base coding geometry platform indexer map - SUBDIRS *= benchmark_tool + SUBDIRS *= benchmark_tool mapshot qt.depends = $$SUBDIRS SUBDIRS *= qt diff --git a/xcode/mapshot/mapshot.xcodeproj/project.pbxproj b/xcode/mapshot/mapshot.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..f721511b6b --- /dev/null +++ b/xcode/mapshot/mapshot.xcodeproj/project.pbxproj @@ -0,0 +1,431 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 675D213D1BFB717400717E4F /* mapshot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675D213C1BFB717400717E4F /* mapshot.cpp */; }; + 675D21411BFB76B000717E4F /* libbase.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D213E1BFB76B000717E4F /* libbase.a */; }; + 675D21431BFB76B000717E4F /* libmap.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21401BFB76B000717E4F /* libmap.a */; }; + 675D21551BFB779A00717E4F /* libalohalitics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21441BFB779A00717E4F /* libalohalitics.a */; }; + 675D21561BFB779A00717E4F /* libcoding.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21451BFB779A00717E4F /* libcoding.a */; }; + 675D21571BFB779A00717E4F /* libdrape_frontend.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21461BFB779A00717E4F /* libdrape_frontend.a */; }; + 675D21581BFB779A00717E4F /* libdrape.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21471BFB779A00717E4F /* libdrape.a */; }; + 675D21591BFB779A00717E4F /* libexpat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21481BFB779A00717E4F /* libexpat.a */; }; + 675D215A1BFB779A00717E4F /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21491BFB779A00717E4F /* libfreetype.a */; }; + 675D215B1BFB779A00717E4F /* libfribidi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D214A1BFB779A00717E4F /* libfribidi.a */; }; + 675D215C1BFB779A00717E4F /* libindexer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D214B1BFB779A00717E4F /* libindexer.a */; }; + 675D215D1BFB779A00717E4F /* libjansson.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D214C1BFB779A00717E4F /* libjansson.a */; }; + 675D215E1BFB779A00717E4F /* libosrm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D214D1BFB779A00717E4F /* libosrm.a */; }; + 675D215F1BFB779A00717E4F /* libplatform.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D214E1BFB779A00717E4F /* libplatform.a */; }; + 675D21601BFB779A00717E4F /* libprotobuf.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D214F1BFB779A00717E4F /* libprotobuf.a */; }; + 675D21611BFB779A00717E4F /* librouting.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21501BFB779A00717E4F /* librouting.a */; }; + 675D21621BFB779A00717E4F /* libsearch.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21511BFB779A00717E4F /* libsearch.a */; }; + 675D21631BFB779A00717E4F /* libstorage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21521BFB779A00717E4F /* libstorage.a */; }; + 675D21641BFB779A00717E4F /* libsuccinct.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21531BFB779A00717E4F /* libsuccinct.a */; }; + 675D21651BFB779A00717E4F /* libtomcrypt.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21541BFB779A00717E4F /* libtomcrypt.a */; }; + 675D21721BFB827B00717E4F /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21711BFB827B00717E4F /* CoreLocation.framework */; }; + 675D21741BFB828200717E4F /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21731BFB828200717E4F /* OpenGL.framework */; }; + 675D21761BFB828900717E4F /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21751BFB828900717E4F /* CoreFoundation.framework */; }; + 675D21781BFB829000717E4F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21771BFB829000717E4F /* Cocoa.framework */; }; + 675D217D1BFB84BA00717E4F /* libapi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21791BFB84BA00717E4F /* libapi.a */; }; + 675D217E1BFB84BA00717E4F /* libgeometry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D217A1BFB84BA00717E4F /* libgeometry.a */; }; + 675D217F1BFB84BA00717E4F /* libminizip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D217B1BFB84BA00717E4F /* libminizip.a */; }; + 675D21801BFB84BA00717E4F /* libopening_hours.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D217C1BFB84BA00717E4F /* libopening_hours.a */; }; + 675D21821BFB85E800717E4F /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21811BFB85E800717E4F /* libz.tbd */; }; + 675D21841BFB86F400717E4F /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21831BFB86F400717E4F /* IOKit.framework */; }; + 675D21C91BFB8F7C00717E4F /* libsdf_image.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21C71BFB8F7C00717E4F /* libsdf_image.a */; }; + 675D21CA1BFB8F7C00717E4F /* libstb_image.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21C81BFB8F7C00717E4F /* libstb_image.a */; }; + 675D21CC1BFB907F00717E4F /* liblodepng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21CB1BFB907F00717E4F /* liblodepng.a */; }; + 675D21CF1BFDDF9300717E4F /* libgflags.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 675D21CE1BFDDF9300717E4F /* libgflags.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 675D212F1BFB6F3D00717E4F /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 675D21311BFB6F3D00717E4F /* mapshot */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mapshot; sourceTree = BUILT_PRODUCTS_DIR; }; + 675D213B1BFB6F7E00717E4F /* defaults.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = defaults.xcconfig; path = ../defaults.xcconfig; sourceTree = ""; }; + 675D213C1BFB717400717E4F /* mapshot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mapshot.cpp; sourceTree = ""; }; + 675D213E1BFB76B000717E4F /* libbase.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbase.a; path = "/Volumes/AltHD/mapsme/omim/xcode/base/../../../omim-xcode-build/Debug/libbase.a"; sourceTree = ""; }; + 675D21401BFB76B000717E4F /* libmap.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmap.a; path = "/Volumes/AltHD/mapsme/omim/xcode/map/../../../omim-xcode-build/Debug/libmap.a"; sourceTree = ""; }; + 675D21441BFB779A00717E4F /* libalohalitics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libalohalitics.a; path = "/Volumes/AltHD/mapsme/omim/xcode/alohalitics/../../../omim-xcode-build/Debug/libalohalitics.a"; sourceTree = ""; }; + 675D21451BFB779A00717E4F /* libcoding.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcoding.a; path = "/Volumes/AltHD/mapsme/omim/xcode/coding/../../../omim-xcode-build/Debug/libcoding.a"; sourceTree = ""; }; + 675D21461BFB779A00717E4F /* libdrape_frontend.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdrape_frontend.a; path = "/Volumes/AltHD/mapsme/omim/xcode/drape_frontend/../../../omim-xcode-build/Debug/libdrape_frontend.a"; sourceTree = ""; }; + 675D21471BFB779A00717E4F /* libdrape.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdrape.a; path = "/Volumes/AltHD/mapsme/omim/xcode/drape/../../../omim-xcode-build/Debug/libdrape.a"; sourceTree = ""; }; + 675D21481BFB779A00717E4F /* libexpat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libexpat.a; path = "/Volumes/AltHD/mapsme/omim/xcode/expat/../../../omim-xcode-build/Debug/libexpat.a"; sourceTree = ""; }; + 675D21491BFB779A00717E4F /* libfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfreetype.a; path = "/Volumes/AltHD/mapsme/omim/xcode/freetype/../../../omim-xcode-build/Debug/libfreetype.a"; sourceTree = ""; }; + 675D214A1BFB779A00717E4F /* libfribidi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfribidi.a; path = "/Volumes/AltHD/mapsme/omim/xcode/fribidi/../../../omim-xcode-build/Debug/libfribidi.a"; sourceTree = ""; }; + 675D214B1BFB779A00717E4F /* libindexer.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libindexer.a; path = "/Volumes/AltHD/mapsme/omim/xcode/indexer/../../../omim-xcode-build/Debug/libindexer.a"; sourceTree = ""; }; + 675D214C1BFB779A00717E4F /* libjansson.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libjansson.a; path = "/Volumes/AltHD/mapsme/omim/xcode/jansson/../../../omim-xcode-build/Debug/libjansson.a"; sourceTree = ""; }; + 675D214D1BFB779A00717E4F /* libosrm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libosrm.a; path = "/Volumes/AltHD/mapsme/omim/xcode/osrm/../../../omim-xcode-build/Debug/libosrm.a"; sourceTree = ""; }; + 675D214E1BFB779A00717E4F /* libplatform.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libplatform.a; path = "/Volumes/AltHD/mapsme/omim/xcode/platform/../../../omim-xcode-build/Debug/libplatform.a"; sourceTree = ""; }; + 675D214F1BFB779A00717E4F /* libprotobuf.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libprotobuf.a; path = "/Volumes/AltHD/mapsme/omim/xcode/protobuf/../../../omim-xcode-build/Debug/libprotobuf.a"; sourceTree = ""; }; + 675D21501BFB779A00717E4F /* librouting.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librouting.a; path = "/Volumes/AltHD/mapsme/omim/xcode/routing/../../../omim-xcode-build/Debug/librouting.a"; sourceTree = ""; }; + 675D21511BFB779A00717E4F /* libsearch.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsearch.a; path = "/Volumes/AltHD/mapsme/omim/xcode/search/../../../omim-xcode-build/Debug/libsearch.a"; sourceTree = ""; }; + 675D21521BFB779A00717E4F /* libstorage.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libstorage.a; path = "/Volumes/AltHD/mapsme/omim/xcode/storage/../../../omim-xcode-build/Debug/libstorage.a"; sourceTree = ""; }; + 675D21531BFB779A00717E4F /* libsuccinct.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsuccinct.a; path = "/Volumes/AltHD/mapsme/omim/xcode/succinct/../../../omim-xcode-build/Debug/libsuccinct.a"; sourceTree = ""; }; + 675D21541BFB779A00717E4F /* libtomcrypt.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtomcrypt.a; path = "/Volumes/AltHD/mapsme/omim/xcode/tomcrypt/../../../omim-xcode-build/Debug/libtomcrypt.a"; sourceTree = ""; }; + 675D21711BFB827B00717E4F /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; + 675D21731BFB828200717E4F /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 675D21751BFB828900717E4F /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + 675D21771BFB829000717E4F /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 675D21791BFB84BA00717E4F /* libapi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libapi.a; path = "/Volumes/AltHD/mapsme/omim/xcode/api/../../../omim-xcode-build/Debug/libapi.a"; sourceTree = ""; }; + 675D217A1BFB84BA00717E4F /* libgeometry.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgeometry.a; path = "/Volumes/AltHD/mapsme/omim/xcode/geometry/../../../omim-xcode-build/Debug/libgeometry.a"; sourceTree = ""; }; + 675D217B1BFB84BA00717E4F /* libminizip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libminizip.a; path = "/Volumes/AltHD/mapsme/omim/xcode/minizip/../../../omim-xcode-build/Debug/libminizip.a"; sourceTree = ""; }; + 675D217C1BFB84BA00717E4F /* libopening_hours.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopening_hours.a; path = "/Volumes/AltHD/mapsme/omim/xcode/opening_hours/../../../omim-xcode-build/Debug/libopening_hours.a"; sourceTree = ""; }; + 675D21811BFB85E800717E4F /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; + 675D21831BFB86F400717E4F /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + 675D21C71BFB8F7C00717E4F /* libsdf_image.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsdf_image.a; path = "../../../omim-xcode-build/Debug/libsdf_image.a"; sourceTree = ""; }; + 675D21C81BFB8F7C00717E4F /* libstb_image.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libstb_image.a; path = "../../../omim-xcode-build/Debug/libstb_image.a"; sourceTree = ""; }; + 675D21CB1BFB907F00717E4F /* liblodepng.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblodepng.a; path = "../../../omim-xcode-build/Debug/liblodepng.a"; sourceTree = ""; }; + 675D21CE1BFDDF9300717E4F /* libgflags.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgflags.a; path = "/Volumes/AltHD/mapsme/omim/xcode/gflags/../../../omim-xcode-build/Debug/libgflags.a"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 675D212E1BFB6F3D00717E4F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 675D21CF1BFDDF9300717E4F /* libgflags.a in Frameworks */, + 675D21CC1BFB907F00717E4F /* liblodepng.a in Frameworks */, + 675D21C91BFB8F7C00717E4F /* libsdf_image.a in Frameworks */, + 675D21CA1BFB8F7C00717E4F /* libstb_image.a in Frameworks */, + 675D21841BFB86F400717E4F /* IOKit.framework in Frameworks */, + 675D21821BFB85E800717E4F /* libz.tbd in Frameworks */, + 675D217D1BFB84BA00717E4F /* libapi.a in Frameworks */, + 675D217E1BFB84BA00717E4F /* libgeometry.a in Frameworks */, + 675D217F1BFB84BA00717E4F /* libminizip.a in Frameworks */, + 675D21801BFB84BA00717E4F /* libopening_hours.a in Frameworks */, + 675D21781BFB829000717E4F /* Cocoa.framework in Frameworks */, + 675D21761BFB828900717E4F /* CoreFoundation.framework in Frameworks */, + 675D21741BFB828200717E4F /* OpenGL.framework in Frameworks */, + 675D21721BFB827B00717E4F /* CoreLocation.framework in Frameworks */, + 675D21551BFB779A00717E4F /* libalohalitics.a in Frameworks */, + 675D21561BFB779A00717E4F /* libcoding.a in Frameworks */, + 675D21571BFB779A00717E4F /* libdrape_frontend.a in Frameworks */, + 675D21581BFB779A00717E4F /* libdrape.a in Frameworks */, + 675D21591BFB779A00717E4F /* libexpat.a in Frameworks */, + 675D215A1BFB779A00717E4F /* libfreetype.a in Frameworks */, + 675D215B1BFB779A00717E4F /* libfribidi.a in Frameworks */, + 675D215C1BFB779A00717E4F /* libindexer.a in Frameworks */, + 675D215D1BFB779A00717E4F /* libjansson.a in Frameworks */, + 675D215E1BFB779A00717E4F /* libosrm.a in Frameworks */, + 675D215F1BFB779A00717E4F /* libplatform.a in Frameworks */, + 675D21601BFB779A00717E4F /* libprotobuf.a in Frameworks */, + 675D21611BFB779A00717E4F /* librouting.a in Frameworks */, + 675D21621BFB779A00717E4F /* libsearch.a in Frameworks */, + 675D21631BFB779A00717E4F /* libstorage.a in Frameworks */, + 675D21641BFB779A00717E4F /* libsuccinct.a in Frameworks */, + 675D21651BFB779A00717E4F /* libtomcrypt.a in Frameworks */, + 675D21411BFB76B000717E4F /* libbase.a in Frameworks */, + 675D21431BFB76B000717E4F /* libmap.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 675D21281BFB6F3D00717E4F = { + isa = PBXGroup; + children = ( + 675D21CD1BFB90AD00717E4F /* Libs */, + 675D213B1BFB6F7E00717E4F /* defaults.xcconfig */, + 675D21331BFB6F3D00717E4F /* mapshot */, + 675D21321BFB6F3D00717E4F /* Products */, + ); + sourceTree = ""; + }; + 675D21321BFB6F3D00717E4F /* Products */ = { + isa = PBXGroup; + children = ( + 675D21311BFB6F3D00717E4F /* mapshot */, + ); + name = Products; + sourceTree = ""; + }; + 675D21331BFB6F3D00717E4F /* mapshot */ = { + isa = PBXGroup; + children = ( + 675D213C1BFB717400717E4F /* mapshot.cpp */, + ); + name = mapshot; + path = ../../mapshot; + sourceTree = ""; + }; + 675D21CD1BFB90AD00717E4F /* Libs */ = { + isa = PBXGroup; + children = ( + 675D21CE1BFDDF9300717E4F /* libgflags.a */, + 675D21CB1BFB907F00717E4F /* liblodepng.a */, + 675D21C71BFB8F7C00717E4F /* libsdf_image.a */, + 675D21C81BFB8F7C00717E4F /* libstb_image.a */, + 675D21831BFB86F400717E4F /* IOKit.framework */, + 675D21811BFB85E800717E4F /* libz.tbd */, + 675D21791BFB84BA00717E4F /* libapi.a */, + 675D217A1BFB84BA00717E4F /* libgeometry.a */, + 675D217B1BFB84BA00717E4F /* libminizip.a */, + 675D217C1BFB84BA00717E4F /* libopening_hours.a */, + 675D21771BFB829000717E4F /* Cocoa.framework */, + 675D21751BFB828900717E4F /* CoreFoundation.framework */, + 675D21731BFB828200717E4F /* OpenGL.framework */, + 675D21711BFB827B00717E4F /* CoreLocation.framework */, + 675D21441BFB779A00717E4F /* libalohalitics.a */, + 675D21451BFB779A00717E4F /* libcoding.a */, + 675D21461BFB779A00717E4F /* libdrape_frontend.a */, + 675D21471BFB779A00717E4F /* libdrape.a */, + 675D21481BFB779A00717E4F /* libexpat.a */, + 675D21491BFB779A00717E4F /* libfreetype.a */, + 675D214A1BFB779A00717E4F /* libfribidi.a */, + 675D214B1BFB779A00717E4F /* libindexer.a */, + 675D214C1BFB779A00717E4F /* libjansson.a */, + 675D214D1BFB779A00717E4F /* libosrm.a */, + 675D214E1BFB779A00717E4F /* libplatform.a */, + 675D214F1BFB779A00717E4F /* libprotobuf.a */, + 675D21501BFB779A00717E4F /* librouting.a */, + 675D21511BFB779A00717E4F /* libsearch.a */, + 675D21521BFB779A00717E4F /* libstorage.a */, + 675D21531BFB779A00717E4F /* libsuccinct.a */, + 675D21541BFB779A00717E4F /* libtomcrypt.a */, + 675D213E1BFB76B000717E4F /* libbase.a */, + 675D21401BFB76B000717E4F /* libmap.a */, + ); + name = Libs; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 675D21301BFB6F3D00717E4F /* mapshot */ = { + isa = PBXNativeTarget; + buildConfigurationList = 675D21381BFB6F3D00717E4F /* Build configuration list for PBXNativeTarget "mapshot" */; + buildPhases = ( + 675D212D1BFB6F3D00717E4F /* Sources */, + 675D212E1BFB6F3D00717E4F /* Frameworks */, + 675D212F1BFB6F3D00717E4F /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = mapshot; + productName = mapshot; + productReference = 675D21311BFB6F3D00717E4F /* mapshot */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 675D21291BFB6F3D00717E4F /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0710; + ORGANIZATIONNAME = maps.me; + TargetAttributes = { + 675D21301BFB6F3D00717E4F = { + CreatedOnToolsVersion = 7.1.1; + }; + }; + }; + buildConfigurationList = 675D212C1BFB6F3D00717E4F /* Build configuration list for PBXProject "mapshot" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 675D21281BFB6F3D00717E4F; + productRefGroup = 675D21321BFB6F3D00717E4F /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 675D21301BFB6F3D00717E4F /* mapshot */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 675D212D1BFB6F3D00717E4F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 675D213D1BFB717400717E4F /* mapshot.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 675D21361BFB6F3D00717E4F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 675D213B1BFB6F7E00717E4F /* defaults.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = "$(QT_PATH)/lib"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(OMIM_ROOT)", + "$(BOOST_ROOT)", + "$(OMIM_ROOT)/3party/glm", + "$(OMIM_ROOT)/3party/gflags/src/", + ); + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = ( + "-framework", + QtCore, + "-framework", + QtNetwork, + "-framework", + QtWidgets, + "-framework", + QtOpenGL, + "-framework", + QtGui, + "-framework", + SystemConfiguration, + ); + SDKROOT = macosx; + }; + name = Debug; + }; + 675D21371BFB6F3D00717E4F /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 675D213B1BFB6F7E00717E4F /* defaults.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = "$(QT_PATH)/lib"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(OMIM_ROOT)", + "$(BOOST_ROOT)", + "$(OMIM_ROOT)/3party/glm", + "$(OMIM_ROOT)/3party/gflags/src/", + ); + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ( + "-framework", + QtCore, + "-framework", + QtNetwork, + "-framework", + QtWidgets, + "-framework", + QtOpenGL, + "-framework", + QtGui, + "-framework", + SystemConfiguration, + ); + SDKROOT = macosx; + }; + name = Release; + }; + 675D21391BFB6F3D00717E4F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 675D213A1BFB6F3D00717E4F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 675D212C1BFB6F3D00717E4F /* Build configuration list for PBXProject "mapshot" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 675D21361BFB6F3D00717E4F /* Debug */, + 675D21371BFB6F3D00717E4F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 675D21381BFB6F3D00717E4F /* Build configuration list for PBXNativeTarget "mapshot" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 675D21391BFB6F3D00717E4F /* Debug */, + 675D213A1BFB6F3D00717E4F /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = 675D21291BFB6F3D00717E4F /* Project object */; +}