diff options
Diffstat (limited to 'platform/osx/platform.gyp')
-rw-r--r-- | platform/osx/platform.gyp | 328 |
1 files changed, 328 insertions, 0 deletions
diff --git a/platform/osx/platform.gyp b/platform/osx/platform.gyp new file mode 100644 index 0000000000..120e5c592d --- /dev/null +++ b/platform/osx/platform.gyp @@ -0,0 +1,328 @@ +{ + 'variables': { + 'loop_lib': 'darwin', + 'headless_lib': 'cgl', + }, + 'xcode_settings': { + # Force all build output to the build directory. Must + # be an absolute path or xcodebuild will ignore it. + 'SYMROOT': '<!(cd ../../build/osx-x86_64 && pwd)', + }, + 'includes': [ + '../../mbgl.gypi', + '../../test/test.gypi', + '../../bin/glfw.gypi', + '../../bin/render.gypi', + '../../bin/offline.gypi', + ], + 'targets': [ + { + 'target_name': 'platform-lib', + 'product_name': 'mbgl-platform-osx', + 'type': 'static_library', + 'standalone_static_library': 1, + 'hard_dependency': 1, + 'dependencies': [ + 'core', + ], + + 'include_dirs': [ + 'include', + '../darwin/include', + '../default', + '../../include', + '../../src', # TODO: eliminate + ], + + 'sources': [ + '../default/asset_file_source.cpp', + '../default/default_file_source.cpp', + '../default/online_file_source.cpp', + '../default/mbgl/storage/offline.hpp', + '../default/mbgl/storage/offline.cpp', + '../default/mbgl/storage/offline_database.hpp', + '../default/mbgl/storage/offline_database.cpp', + '../default/mbgl/storage/offline_download.hpp', + '../default/mbgl/storage/offline_download.cpp', + '../default/sqlite3.hpp', + '../default/sqlite3.cpp', + '../darwin/src/http_request_nsurl.mm', + '../darwin/src/log_nslog.mm', + '../darwin/src/string_nsstring.mm', + '../darwin/src/image.mm', + '../darwin/src/nsthread.mm', + '../darwin/src/reachability.m', + ], + + 'xcode_settings': { + 'OTHER_CPLUSPLUSFLAGS': [ + '<@(boost_cflags)', + '<@(sqlite_cflags)', + '<@(zlib_cflags)', + '<@(rapidjson_cflags)', + '<@(variant_cflags)', + ], + 'CLANG_ENABLE_OBJC_ARC': 'YES', + 'CLANG_ENABLE_MODULES': 'YES', + }, + + 'link_settings': { + 'libraries': [ + '<@(sqlite_static_libs)', + '<@(zlib_static_libs)', + '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework', + '$(SDKROOT)/System/Library/Frameworks/CoreLocation.framework', + '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework', + '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework', + '$(SDKROOT)/System/Library/Frameworks/SystemConfiguration.framework', + ], + 'xcode_settings': { + 'OTHER_LDFLAGS': [ '<@(zlib_ldflags)' ], + }, + }, + }, + { + 'target_name': 'osxsdk', + 'product_name': 'Mapbox', + 'type': 'shared_library', + 'mac_bundle': 1, + + 'dependencies': [ + 'platform-lib', + ], + + 'xcode_settings': { + 'CLANG_ENABLE_OBJC_ARC': 'YES', + 'CURRENT_PROJECT_VERSION': '0', + 'DEFINES_MODULE': 'YES', + 'DYLIB_INSTALL_NAME_BASE': '@rpath', + 'INFOPLIST_FILE': 'sdk/Info.plist', + 'LD_RUNPATH_SEARCH_PATHS': [ + '${inherited}', + '@executable_path/../Frameworks', + '@loader_path/Frameworks', + ], + 'PRODUCT_BUNDLE_IDENTIFIER': 'com.mapbox.MapboxGL', + 'OTHER_CPLUSPLUSFLAGS': [ + '<@(boost_cflags)', + '<@(variant_cflags)', + ], + 'OTHER_LDFLAGS': [ '-stdlib=libc++', '-lstdc++' ], + 'SDKROOT': 'macosx', + 'SKIP_INSTALL': 'YES', + 'SUPPORTED_PLATFORMS':'macosx', + 'VERSIONING_SYSTEM': 'apple-generic', + }, + + 'mac_framework_headers': [ + 'sdk/Mapbox.h', + '<!@(find ../{darwin,osx}/include -type f \! -name \'.*\')', + ], + + 'mac_bundle_resources': [ + '<!@(find src/resources -type f \! -name \'.*\')', + ], + + 'include_dirs': [ + 'include', + '../darwin/include', + '../../include', + ], + + 'sources': [ + 'sdk/Mapbox.m', + '../darwin/src/NSException+MGLAdditions.h', + '../darwin/src/NSString+MGLAdditions.h', + '../darwin/src/NSString+MGLAdditions.m', + '../darwin/src/MGLTypes.m', + '../darwin/src/MGLStyle.mm', + '../darwin/src/MGLGeometry_Private.h', + '../darwin/src/MGLGeometry.mm', + '../darwin/src/MGLShape.m', + '../darwin/src/MGLMultiPoint_Private.h', + '../darwin/src/MGLMultiPoint.mm', + '../darwin/src/MGLPointAnnotation.m', + '../darwin/src/MGLPolyline.mm', + '../darwin/src/MGLPolygon.mm', + '../darwin/src/MGLMapCamera.mm', + '../darwin/src/MGLOfflinePack.mm', + '../darwin/src/MGLOfflinePack_Private.h', + '../darwin/src/MGLOfflineStorage.mm', + '../darwin/src/MGLOfflineStorage_Private.h', + '../darwin/src/MGLOfflineRegion_Private.h', + '../darwin/src/MGLTilePyramidOfflineRegion.mm', + '../darwin/src/MGLAccountManager_Private.h', + '../darwin/src/MGLAccountManager.m', + '../darwin/src/NSBundle+MGLAdditions.h', + '../darwin/src/NSBundle+MGLAdditions.m', + '../darwin/src/NSProcessInfo+MGLAdditions.h', + '../darwin/src/NSProcessInfo+MGLAdditions.m', + 'src/MGLMapView_Private.h', + 'src/MGLMapView.mm', + 'src/MGLMapView+IBAdditions.m', + 'src/MGLOpenGLLayer.h', + 'src/MGLOpenGLLayer.mm', + 'src/MGLCompassCell.h', + 'src/MGLCompassCell.m', + 'src/MGLAttributionButton.h', + 'src/MGLAttributionButton.m', + 'src/MGLAnnotationImage.m', + ], + + 'configurations': { + 'Debug': { + 'xcode_settings': { + 'GCC_OPTIMIZATION_LEVEL': '0', + }, + }, + 'Release': { + 'xcode_settings': { + 'GCC_OPTIMIZATION_LEVEL': 's', + }, + }, + }, + + 'direct_dependent_settings': { + 'libraries': [ + '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework', + '$(SDKROOT)/System/Library/Frameworks/CoreLocation.framework', + ], + }, + }, + { + 'target_name': 'osxtest', + 'product_name': 'osxtest', + 'type': 'loadable_module', + 'mac_xctest_bundle': 1, + + 'dependencies': [ + 'osxsdk', + ], + + 'xcode_settings': { + 'CLANG_ENABLE_MODULES': 'YES', + 'CLANG_ENABLE_OBJC_ARC': 'YES', + 'ENABLE_STRICT_OBJC_MSGSEND': 'YES', + 'GCC_DYNAMIC_NO_PIC': 'NO', + 'GCC_NO_COMMON_BLOCKS': 'YES', + 'INFOPLIST_FILE': 'test/Info.plist', + 'LD_RUNPATH_SEARCH_PATHS': [ + '${inherited}', + '@executable_path/../Frameworks', + '@loader_path/../Frameworks', + ], + 'PRODUCT_BUNDLE_IDENTIFIER': 'com.mapbox.osxtest', + 'SDKROOT': 'macosx', + 'SKIP_INSTALL': 'YES', + 'SUPPORTED_PLATFORMS':'macosx', + }, + + 'sources': [ + 'test/MGLGeometryTests.mm', + 'test/MGLOfflinePackTests.m', + 'test/MGLOfflineRegionTests.m', + 'test/MGLOfflineStorageTests.m', + 'test/MGLStyleTests.mm', + ], + + 'include_dirs': [ + 'include', + '../darwin/include', + '../../include', + ], + + 'configurations': { + 'Debug': { + 'xcode_settings': { + 'COPY_PHASE_STRIP': 'NO', + 'DEBUG_INFORMATION_FORMAT': 'dwarf', + 'ENABLE_TESTABILITY': 'YES', + 'GCC_OPTIMIZATION_LEVEL': '0', + 'GCC_PREPROCESSOR_DEFINITIONS': [ + 'DEBUG=1', + '${inherited}', + ], + 'ONLY_ACTIVE_ARCH': 'YES', + }, + }, + 'Release': { + 'xcode_settings': { + 'COPY_PHASE_STRIP': 'YES', + 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym', + 'ENABLE_NS_ASSERTIONS': 'NO', + }, + }, + }, + }, + { + 'target_name': 'osxapp', + 'product_name': 'Mapbox GL', + 'type': 'executable', + 'product_extension': 'app', + 'mac_bundle': 1, + 'mac_bundle_resources': [ + 'app/Credits.rtf', + 'app/Icon.icns', + 'app/MainMenu.xib', + 'app/MapDocument.xib', + ], + + 'dependencies': [ + 'osxsdk', + ], + + 'sources': [ + 'app/AppDelegate.h', + 'app/AppDelegate.m', + 'app/DroppedPinAnnotation.h', + 'app/DroppedPinAnnotation.m', + 'app/LocationCoordinate2DTransformer.h', + 'app/LocationCoordinate2DTransformer.m', + 'app/MapDocument.h', + 'app/MapDocument.m', + 'app/OfflinePackNameValueTransformer.h', + 'app/OfflinePackNameValueTransformer.m', + 'app/TimeIntervalTransformer.h', + 'app/TimeIntervalTransformer.m', + 'app/NSValue+Additions.h', + 'app/NSValue+Additions.m', + 'app/main.m', + ], + + 'xcode_settings': { + 'CLANG_ENABLE_OBJC_ARC': 'YES', + 'INFOPLIST_FILE': 'app/Info.plist', + 'LD_RUNPATH_SEARCH_PATHS': [ + '\${inherited}', + '@executable_path/../Frameworks', + ], + 'PRODUCT_BUNDLE_IDENTIFIER': 'com.mapbox.MapboxGL', + 'SDKROOT': 'macosx', + 'SUPPORTED_PLATFORMS': 'macosx', + }, + + 'configurations': { + 'Debug': { + 'xcode_settings': { + 'COPY_PHASE_STRIP': 'NO', + }, + }, + 'Release': { + 'xcode_settings': { + 'COPY_PHASE_STRIP': 'YES', + }, + }, + }, + + 'copies': [ + { + 'destination': '<(PRODUCT_DIR)/${FRAMEWORKS_FOLDER_PATH}', + 'files': [ + '<(PRODUCT_DIR)/Mapbox.framework', + ], + 'xcode_code_sign': 1, + } + ], + }, + ], +} |