diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2016-06-03 18:05:04 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2016-08-05 11:42:22 +0200 |
commit | 692fe1f3ffc8f4364b39c14aa7d90cec2ff5c0a6 (patch) | |
tree | 1d08af7d56e986dba2b548ff9b9a7e1a77c713ed /platform/macos | |
parent | e3ee55b28d0b230d054c9718f79a1f6d685cd62b (diff) | |
download | qtlocation-mapboxgl-692fe1f3ffc8f4364b39c14aa7d90cec2ff5c0a6.tar.gz |
[build] switch to CMake
This is very much a work in progress.
Diffstat (limited to 'platform/macos')
-rw-r--r-- | platform/macos/WorkspaceSettings.xcsettings | 10 | ||||
-rw-r--r-- | platform/macos/bitrise.yml | 1 | ||||
-rw-r--r-- | platform/macos/config.cmake | 113 | ||||
-rw-r--r-- | platform/macos/macos.xcodeproj/project.pbxproj | 78 | ||||
-rw-r--r-- | platform/macos/macos.xcworkspace/contents.xcworkspacedata | 2 | ||||
-rwxr-xr-x | platform/macos/ninja | bin | 0 -> 171356 bytes | |||
-rw-r--r-- | platform/macos/platform.gyp | 104 | ||||
-rw-r--r-- | platform/macos/scripts/configure.sh | 21 | ||||
-rwxr-xr-x | platform/macos/scripts/create_scheme.sh | 40 | ||||
-rw-r--r-- | platform/macos/scripts/executable.xcscheme (renamed from platform/macos/macos.xcworkspace/xcshareddata/xcschemes/test.xcscheme) | 44 | ||||
-rw-r--r-- | platform/macos/scripts/library.xcscheme (renamed from platform/macos/macos.xcworkspace/xcshareddata/xcschemes/mbgl-offline.xcscheme) | 48 | ||||
-rw-r--r-- | platform/macos/scripts/macostest.xcscheme | 56 | ||||
-rw-r--r-- | platform/macos/scripts/node.xcscheme (renamed from platform/macos/macos.xcworkspace/xcshareddata/xcschemes/mbgl-render.xcscheme) | 64 | ||||
-rwxr-xr-x | platform/macos/scripts/package.sh | 2 |
14 files changed, 275 insertions, 308 deletions
diff --git a/platform/macos/WorkspaceSettings.xcsettings b/platform/macos/WorkspaceSettings.xcsettings index a2d959210c..88a45c15ce 100644 --- a/platform/macos/WorkspaceSettings.xcsettings +++ b/platform/macos/WorkspaceSettings.xcsettings @@ -3,11 +3,15 @@ <plist version="1.0"> <dict> <key>BuildLocationStyle</key> - <string>UseAppPreferences</string> + <string>CustomLocation</string> + <key>CustomBuildIntermediatesPath</key> + <string>../../build/macos</string> <key>CustomBuildLocationType</key> - <string>RelativeToDerivedData</string> + <string>RelativeToWorkspace</string> + <key>CustomBuildProductsPath</key> + <string>../../build/macos</string> <key>DerivedDataCustomLocation</key> - <string>../../build</string> + <string>../../build/macos</string> <key>DerivedDataLocationStyle</key> <string>WorkspaceRelativePath</string> <key>IssueFilterStyle</key> diff --git a/platform/macos/bitrise.yml b/platform/macos/bitrise.yml index ce622ef0f8..0987049437 100644 --- a/platform/macos/bitrise.yml +++ b/platform/macos/bitrise.yml @@ -29,6 +29,7 @@ workflows: - content: |- #!/bin/bash set -eu -o pipefail + brew install cmake gem install xcpretty --no-rdoc --no-ri export BUILDTYPE=Debug make macos diff --git a/platform/macos/config.cmake b/platform/macos/config.cmake new file mode 100644 index 0000000000..fcb2c9a3e3 --- /dev/null +++ b/platform/macos/config.cmake @@ -0,0 +1,113 @@ +mason_use(glfw 3.1.2) +mason_use(boost_libprogram_options 1.60.0) + +include(cmake/loop-darwin.cmake) + +macro(mbgl_platform_core) + target_sources(mbgl-core + # File source + PRIVATE platform/darwin/src/http_file_source.mm + PRIVATE platform/default/asset_file_source.cpp + PRIVATE platform/default/default_file_source.cpp + PRIVATE platform/default/online_file_source.cpp + + # Offline + PRIVATE platform/default/mbgl/storage/offline.cpp + PRIVATE platform/default/mbgl/storage/offline_database.cpp + PRIVATE platform/default/mbgl/storage/offline_database.hpp + PRIVATE platform/default/mbgl/storage/offline_download.cpp + PRIVATE platform/default/mbgl/storage/offline_download.hpp + PRIVATE platform/default/sqlite3.cpp + PRIVATE platform/default/sqlite3.hpp + + # Misc + PRIVATE platform/darwin/src/log_nslog.mm + PRIVATE platform/darwin/src/nsthread.mm + PRIVATE platform/darwin/src/reachability.m + PRIVATE platform/darwin/src/string_nsstring.mm + + # Image handling + PRIVATE platform/darwin/src/image.mm + + # Headless view + PRIVATE platform/darwin/src/headless_view_cgl.cpp + PRIVATE platform/default/headless_display.cpp + PRIVATE platform/default/headless_view.cpp + ) + + target_compile_options(mbgl-core + PRIVATE -fobjc-arc + ) + + target_include_directories(mbgl-core + PRIVATE platform/default + ) + + target_link_libraries(mbgl-core + PUBLIC -lz + ) +endmacro() + + +macro(mbgl_platform_glfw) + target_link_libraries(mbgl-glfw + PRIVATE mbgl-loop + PRIVATE "-lsqlite3" + ) +endmacro() + + +macro(mbgl_platform_render) + target_link_libraries(mbgl-render + PRIVATE mbgl-loop + PRIVATE "-framework Foundation" + PRIVATE "-framework CoreGraphics" + PRIVATE "-framework OpenGL" + PRIVATE "-framework ImageIO" + PRIVATE "-framework CoreServices" + PRIVATE "-lsqlite3" + ) +endmacro() + + +macro(mbgl_platform_offline) + target_link_libraries(mbgl-offline + PRIVATE mbgl-loop + PRIVATE "-framework Foundation" + PRIVATE "-framework CoreGraphics" + PRIVATE "-framework OpenGL" + PRIVATE "-framework ImageIO" + PRIVATE "-framework CoreServices" + PRIVATE "-lsqlite3" + ) +endmacro() + + +macro(mbgl_platform_test) + target_sources(mbgl-test + PRIVATE test/src/main.cpp + ) + + set_source_files_properties( + test/src/main.cpp + PROPERTIES + COMPILE_FLAGS -DWORK_DIRECTORY="${CMAKE_SOURCE_DIR}" + ) + + target_link_libraries(mbgl-test + PRIVATE mbgl-loop + PRIVATE "-framework Foundation" + PRIVATE "-framework CoreGraphics" + PRIVATE "-framework OpenGL" + PRIVATE "-framework ImageIO" + PRIVATE "-framework CoreServices" + PRIVATE "-lsqlite3" + ) +endmacro() + + +macro(mbgl_platform_node) + target_link_libraries(mbgl-node + PRIVATE "-framework Foundation" + ) +endmacro() diff --git a/platform/macos/macos.xcodeproj/project.pbxproj b/platform/macos/macos.xcodeproj/project.pbxproj index ed980294a9..25af9015ac 100644 --- a/platform/macos/macos.xcodeproj/project.pbxproj +++ b/platform/macos/macos.xcodeproj/project.pbxproj @@ -8,6 +8,10 @@ /* Begin PBXBuildFile section */ 52BECB0A1CC5A26F009CD791 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52BECB091CC5A26F009CD791 /* SystemConfiguration.framework */; }; + 5548BE781D09E718005DDE81 /* libmbgl-core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAE6C3451CC31D1200DB3429 /* libmbgl-core.a */; }; + 5548BE7D1D0ACCD6005DDE81 /* libmbgl-core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAE6C3451CC31D1200DB3429 /* libmbgl-core.a */; }; + 558F18221D0B13B100123F46 /* libmbgl-loop.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 558F18211D0B13B000123F46 /* libmbgl-loop.a */; }; + 55D9B4B11D005D3900C1CCE2 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 55D9B4B01D005D3900C1CCE2 /* libz.tbd */; }; DA0CD58E1CF56F5800A5F5A5 /* MGLFeatureTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA0CD58D1CF56F5800A5F5A5 /* MGLFeatureTests.mm */; }; DA35A2A41CC9EB1A00E826B2 /* MGLCoordinateFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2A31CC9EB1A00E826B2 /* MGLCoordinateFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; DA35A2A61CC9EB2700E826B2 /* MGLCoordinateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A51CC9EB2700E826B2 /* MGLCoordinateFormatter.m */; }; @@ -31,7 +35,6 @@ DA8933AE1CCD290700E68420 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DA8933AB1CCD290700E68420 /* Localizable.strings */; }; DA8933B51CCD2C2500E68420 /* Foundation.strings in Resources */ = {isa = PBXBuildFile; fileRef = DA8933B31CCD2C2500E68420 /* Foundation.strings */; }; DA8933B81CCD2C2D00E68420 /* Foundation.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = DA8933B61CCD2C2D00E68420 /* Foundation.stringsdict */; }; - DAB6924A1CC75A31005AAB54 /* libmbgl-core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAE6C3451CC31D1200DB3429 /* libmbgl-core.a */; }; DAC2ABC51CC6D343006D18C4 /* MGLAnnotationImage_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAC2ABC41CC6D343006D18C4 /* MGLAnnotationImage_Private.h */; }; DACC22141CF3D3E200D220D9 /* MGLFeature.h in Headers */ = {isa = PBXBuildFile; fileRef = DACC22121CF3D3E200D220D9 /* MGLFeature.h */; settings = {ATTRIBUTES = (Public, ); }; }; DACC22151CF3D3E200D220D9 /* MGLFeature.mm in Sources */ = {isa = PBXBuildFile; fileRef = DACC22131CF3D3E200D220D9 /* MGLFeature.mm */; }; @@ -46,8 +49,6 @@ DAE6C3321CC30DB200DB3429 /* Mapbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAE6C3281CC30DB200DB3429 /* Mapbox.framework */; }; DAE6C33D1CC30DB200DB3429 /* Mapbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAE6C3281CC30DB200DB3429 /* Mapbox.framework */; }; DAE6C33E1CC30DB200DB3429 /* Mapbox.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = DAE6C3281CC30DB200DB3429 /* Mapbox.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - DAE6C3471CC31D1200DB3429 /* libmbgl-core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAE6C3451CC31D1200DB3429 /* libmbgl-core.a */; }; - DAE6C3481CC31D1200DB3429 /* libmbgl-platform-macos.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAE6C3461CC31D1200DB3429 /* libmbgl-platform-macos.a */; }; DAE6C35A1CC31E0400DB3429 /* MGLAccountManager.h in Headers */ = {isa = PBXBuildFile; fileRef = DAE6C34A1CC31E0400DB3429 /* MGLAccountManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; DAE6C35B1CC31E0400DB3429 /* MGLAnnotation.h in Headers */ = {isa = PBXBuildFile; fileRef = DAE6C34B1CC31E0400DB3429 /* MGLAnnotation.h */; settings = {ATTRIBUTES = (Public, ); }; }; DAE6C35C1CC31E0400DB3429 /* MGLGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = DAE6C34C1CC31E0400DB3429 /* MGLGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -148,6 +149,11 @@ /* Begin PBXFileReference section */ 52BECB091CC5A26F009CD791 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + 5548BE791D0ACBB2005DDE81 /* libmbgl-loop-darwin.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libmbgl-loop-darwin.a"; path = "cmake/Debug/libmbgl-loop-darwin.a"; sourceTree = "<group>"; }; + 5548BE7B1D0ACBBD005DDE81 /* libmbgl-loop-darwin.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libmbgl-loop-darwin.a"; path = "cmake/Debug/libmbgl-loop-darwin.a"; sourceTree = "<group>"; }; + 558F18211D0B13B000123F46 /* libmbgl-loop.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libmbgl-loop.a"; path = "../../build/osx/Debug/libmbgl-loop.a"; sourceTree = "<group>"; }; + 55D9B4B01D005D3900C1CCE2 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; + 55FE0E8D1D100A0900FD240B /* config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = config.xcconfig; path = ../../build/macos/config.xcconfig; sourceTree = "<group>"; }; DA0CD58D1CF56F5800A5F5A5 /* MGLFeatureTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MGLFeatureTests.mm; path = ../../darwin/test/MGLFeatureTests.mm; sourceTree = "<group>"; }; DA35A2A31CC9EB1A00E826B2 /* MGLCoordinateFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLCoordinateFormatter.h; sourceTree = "<group>"; }; DA35A2A51CC9EB2700E826B2 /* MGLCoordinateFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLCoordinateFormatter.m; sourceTree = "<group>"; }; @@ -255,7 +261,6 @@ DAE6C3BB1CC31F2E00DB3429 /* default_marker.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = default_marker.pdf; sourceTree = "<group>"; }; DAE6C3BC1CC31F2E00DB3429 /* mapbox.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = mapbox.pdf; sourceTree = "<group>"; }; DAE6C3C11CC31F4500DB3429 /* Mapbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Mapbox.h; path = src/Mapbox.h; sourceTree = SOURCE_ROOT; }; - DAE6C3C51CC31F9100DB3429 /* mbgl.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = mbgl.xcconfig; path = ../../build/macos/mbgl.xcconfig; sourceTree = "<group>"; }; DAE6C3C61CC3499100DB3429 /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; }; DAE6C3C81CC34BD800DB3429 /* MGLGeometryTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MGLGeometryTests.mm; path = ../../darwin/test/MGLGeometryTests.mm; sourceTree = "<group>"; }; DAE6C3C91CC34BD800DB3429 /* MGLOfflinePackTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLOfflinePackTests.m; path = ../../darwin/test/MGLOfflinePackTests.m; sourceTree = "<group>"; }; @@ -278,9 +283,10 @@ buildActionMask = 2147483647; files = ( 52BECB0A1CC5A26F009CD791 /* SystemConfiguration.framework in Frameworks */, - DAE6C3471CC31D1200DB3429 /* libmbgl-core.a in Frameworks */, - DAE6C3481CC31D1200DB3429 /* libmbgl-platform-macos.a in Frameworks */, + 5548BE781D09E718005DDE81 /* libmbgl-core.a in Frameworks */, + 558F18221D0B13B100123F46 /* libmbgl-loop.a in Frameworks */, DAE6C3C71CC3499100DB3429 /* libsqlite3.tbd in Frameworks */, + 55D9B4B11D005D3900C1CCE2 /* libz.tbd in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -288,8 +294,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DAB6924A1CC75A31005AAB54 /* libmbgl-core.a in Frameworks */, DAE6C3321CC30DB200DB3429 /* Mapbox.framework in Frameworks */, + 5548BE7D1D0ACCD6005DDE81 /* libmbgl-core.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -451,6 +457,10 @@ DAE6C31E1CC308BC00DB3429 /* Frameworks */ = { isa = PBXGroup; children = ( + 558F18211D0B13B000123F46 /* libmbgl-loop.a */, + 5548BE7B1D0ACBBD005DDE81 /* libmbgl-loop-darwin.a */, + 5548BE791D0ACBB2005DDE81 /* libmbgl-loop-darwin.a */, + 55D9B4B01D005D3900C1CCE2 /* libz.tbd */, 52BECB091CC5A26F009CD791 /* SystemConfiguration.framework */, DAE6C3451CC31D1200DB3429 /* libmbgl-core.a */, DAE6C3461CC31D1200DB3429 /* libmbgl-platform-macos.a */, @@ -538,7 +548,7 @@ DAE6C3C41CC31F7800DB3429 /* Configuration */ = { isa = PBXGroup; children = ( - DAE6C3C51CC31F9100DB3429 /* mbgl.xcconfig */, + 55FE0E8D1D100A0900FD240B /* config.xcconfig */, ); name = Configuration; sourceTree = "<group>"; @@ -924,7 +934,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; + SYMROOT = "$(PROJECT_DIR)/cmake"; }; name = Debug; }; @@ -961,7 +971,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; + SYMROOT = "$(PROJECT_DIR)/cmake"; }; name = Release; }; @@ -1016,7 +1026,7 @@ }; DAE6C33F1CC30DB200DB3429 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DAE6C3C51CC31F9100DB3429 /* mbgl.xcconfig */; + baseConfigurationReference = 55FE0E8D1D100A0900FD240B /* config.xcconfig */; buildSettings = { COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; @@ -1026,25 +1036,15 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_VERSION = A; HEADER_SEARCH_PATHS = ( - ../default, - ../../include, - ../../src, + "$(mbgl_core_INCLUDE_DIRECTORIES)", + "$(mbgl_loop_INCLUDE_DIRECTORIES)", ); INFOPLIST_FILE = "$(SRCROOT)/sdk/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - OTHER_CPLUSPLUSFLAGS = ( - "$(OTHER_CFLAGS)", - "$(zlib_cflags)", - "$(rapidjson_cflags)", - "$(variant_cflags)", - "$(geometry_cflags)", - "$(geojson_cflags)", - ); OTHER_LDFLAGS = ( - "$(zlib_ldflags)", - "$(opengl_ldflags)", - "$(geojson_static_libs)", + "$(mbgl_core_LINK_LIBRARIES)", + "$(mbgl_loop_LINK_LIBRARIES)", ); PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.MapboxGL; PRODUCT_NAME = Mapbox; @@ -1056,7 +1056,7 @@ }; DAE6C3401CC30DB200DB3429 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DAE6C3C51CC31F9100DB3429 /* mbgl.xcconfig */; + baseConfigurationReference = 55FE0E8D1D100A0900FD240B /* config.xcconfig */; buildSettings = { COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; @@ -1066,25 +1066,15 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_VERSION = A; HEADER_SEARCH_PATHS = ( - ../default, - ../../include, - ../../src, + "$(mbgl_core_INCLUDE_DIRECTORIES)", + "$(mbgl_loop_INCLUDE_DIRECTORIES)", ); INFOPLIST_FILE = "$(SRCROOT)/sdk/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - OTHER_CPLUSPLUSFLAGS = ( - "$(OTHER_CFLAGS)", - "$(zlib_cflags)", - "$(rapidjson_cflags)", - "$(variant_cflags)", - "$(geometry_cflags)", - "$(geojson_cflags)", - ); OTHER_LDFLAGS = ( - "$(zlib_ldflags)", - "$(opengl_ldflags)", - "$(geojson_static_libs)", + "$(mbgl_core_LINK_LIBRARIES)", + "$(mbgl_loop_LINK_LIBRARIES)", ); PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.MapboxGL; PRODUCT_NAME = Mapbox; @@ -1096,10 +1086,10 @@ }; DAE6C3411CC30DB200DB3429 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DAE6C3C51CC31F9100DB3429 /* mbgl.xcconfig */; + baseConfigurationReference = 55FE0E8D1D100A0900FD240B /* config.xcconfig */; buildSettings = { COMBINE_HIDPI_IMAGES = YES; - HEADER_SEARCH_PATHS = ../../include; + HEADER_SEARCH_PATHS = "$(mbgl_core_INCLUDE_DIRECTORIES)"; INFOPLIST_FILE = test/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; OTHER_CPLUSPLUSFLAGS = ( @@ -1115,10 +1105,10 @@ }; DAE6C3421CC30DB200DB3429 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DAE6C3C51CC31F9100DB3429 /* mbgl.xcconfig */; + baseConfigurationReference = 55FE0E8D1D100A0900FD240B /* config.xcconfig */; buildSettings = { COMBINE_HIDPI_IMAGES = YES; - HEADER_SEARCH_PATHS = ../../include; + HEADER_SEARCH_PATHS = "$(mbgl_core_INCLUDE_DIRECTORIES)"; INFOPLIST_FILE = test/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; OTHER_CPLUSPLUSFLAGS = ( diff --git a/platform/macos/macos.xcworkspace/contents.xcworkspacedata b/platform/macos/macos.xcworkspace/contents.xcworkspacedata index 67a33490e9..65341f19fa 100644 --- a/platform/macos/macos.xcworkspace/contents.xcworkspacedata +++ b/platform/macos/macos.xcworkspace/contents.xcworkspacedata @@ -5,6 +5,6 @@ location = "container:macos.xcodeproj"> </FileRef> <FileRef - location = "group:../../build/macos/platform/macos/platform.xcodeproj"> + location = "group:../../build/macos/mbgl.xcodeproj"> </FileRef> </Workspace> diff --git a/platform/macos/ninja b/platform/macos/ninja Binary files differnew file mode 100755 index 0000000000..64fcacc550 --- /dev/null +++ b/platform/macos/ninja diff --git a/platform/macos/platform.gyp b/platform/macos/platform.gyp deleted file mode 100644 index 68ab4ce467..0000000000 --- a/platform/macos/platform.gyp +++ /dev/null @@ -1,104 +0,0 @@ -{ - 'variables': { - 'loop_lib': 'darwin', - 'headless_lib': 'cgl', - 'coverage': 0, - }, - 'includes': [ - '../../build/macos/config.gypi', - '../../mbgl.gypi', - '../../test/test.gypi', - '../../benchmark/benchmark.gypi', - '../../bin/glfw.gypi', - '../../bin/render.gypi', - '../../bin/offline.gypi', - ], - 'targets': [ - { - 'target_name': 'test', - 'type': 'executable', - - 'dependencies': [ - 'test-lib', - 'platform-lib', - ], - - 'sources': [ - '../../test/src/main.cpp', - ], - }, - { - 'target_name': 'benchmark', - 'type': 'executable', - - 'dependencies': [ - 'benchmark-lib', - 'platform-lib', - ], - - 'sources': [ - '../../benchmark/src/main.cpp', - ], - }, - { - 'target_name': 'platform-lib', - 'product_name': 'mbgl-platform-macos', - 'type': 'static_library', - 'standalone_static_library': 1, - 'hard_dependency': 1, - 'dependencies': [ - 'core', - ], - - 'include_dirs': [ - 'include', - '../darwin/include', - '../default', - '../../include', - '../../src', # TODO: eliminate - '<(SHARED_INTERMEDIATE_DIR)/include', - ], - - '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_file_source.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': [ - '<@(sqlite_cflags)', - '<@(zlib_cflags)', - '<@(rapidjson_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', - ], - 'xcode_settings': { - 'OTHER_LDFLAGS': [ '<@(zlib_ldflags)' ], - }, - }, - }, - ], -} diff --git a/platform/macos/scripts/configure.sh b/platform/macos/scripts/configure.sh deleted file mode 100644 index d408eef7e4..0000000000 --- a/platform/macos/scripts/configure.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -UNIQUE_RESOURCE_VERSION=dev -PROTOZERO_VERSION=1.3.0 -BOOST_VERSION=1.60.0 -BOOST_LIBPROGRAM_OPTIONS_VERSION=1.60.0 -GLFW_VERSION=3.1.2 -SQLITE_VERSION=3.9.1 -ZLIB_VERSION=system -NUNICODE_VERSION=1.6 -GEOMETRY_VERSION=0.8.0 -GEOJSON_VERSION=0.1.4 -GEOJSONVT_VERSION=6.1.2 -SUPERCLUSTER_VERSION=0.2.0 -KDBUSH_VERSION=0.1.1 -VARIANT_VERSION=1.1.0 -RAPIDJSON_VERSION=1.0.2 -GTEST_VERSION=1.7.0 -PIXELMATCH_VERSION=0.9.0 -EARCUT_VERSION=0.11 -BENCHMARK_VERSION=1.0.0 diff --git a/platform/macos/scripts/create_scheme.sh b/platform/macos/scripts/create_scheme.sh new file mode 100755 index 0000000000..71f0e0855b --- /dev/null +++ b/platform/macos/scripts/create_scheme.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +set -u + +CONTAINER=build/macos/mbgl.xcodeproj +OUTPUT="${CONTAINER}/xcshareddata/xcschemes/${SCHEME_NAME}.xcscheme" + +# Required ENV vars: +# - SCHEME_TYPE: type of the scheme +# - SCHEME_NAME: name of the scheme + +# Optional ENV vars: +# - NODE_ARGUMENT (defaults to "") +# - BUILDABLE_NAME (defaults ot SCHEME_NAME) +# - BLUEPRINT_NAME (defaults ot SCHEME_NAME) + + +# Try to reuse the existing Blueprint ID if the scheme already exists. +if [ -f "${OUTPUT}" ]; then + BLUEPRINT_ID=$(sed -n "s/[ \t]*BlueprintIdentifier *= *\"\([A-Z0-9]\{24\}\)\"/\\1/p" "${OUTPUT}" | head -1) +fi + +NODE_ARGUMENT=${NODE_ARGUMENT:-} +MAPBOX_ACCESS_TOKEN=${MAPBOX_ACCESS_TOKEN:-} +BLUEPRINT_ID=${BLUEPRINT_ID:-$(hexdump -n 12 -v -e '/1 "%02X"' /dev/urandom)} +BUILDABLE_NAME=${BUILDABLE_NAME:-${SCHEME_NAME}} +BLUEPRINT_NAME=${BLUEPRINT_NAME:-${SCHEME_NAME}} + +mkdir -p "${CONTAINER}/xcshareddata/xcschemes" + +sed "\ +s#{{BLUEPRINT_ID}}#${BLUEPRINT_ID}#;\ +s#{{BLUEPRINT_NAME}}#${BLUEPRINT_NAME}#;\ +s#{{BUILDABLE_NAME}}#${BUILDABLE_NAME}#;\ +s#{{CONTAINER}}#${CONTAINER}#;\ +s#{{MAPBOX_ACCESS_TOKEN}}#${MAPBOX_ACCESS_TOKEN}#;\ +s#{{WORKING_DIRECTORY}}#$(pwd)#;\ +s#{{NODE_PATH}}#$(dirname `which node`)#;\ +s#{{NODE_ARGUMENT}}#${NODE_ARGUMENT}#" \ + platform/macos/scripts/${SCHEME_TYPE}.xcscheme > "${OUTPUT}" diff --git a/platform/macos/macos.xcworkspace/xcshareddata/xcschemes/test.xcscheme b/platform/macos/scripts/executable.xcscheme index bc8a3350f1..4353aad846 100644 --- a/platform/macos/macos.xcworkspace/xcshareddata/xcschemes/test.xcscheme +++ b/platform/macos/scripts/executable.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0720" + LastUpgradeVersion = "0730" version = "1.3"> <BuildAction parallelizeBuildables = "YES" @@ -14,10 +14,10 @@ buildForAnalyzing = "YES"> <BuildableReference BuildableIdentifier = "primary" - BlueprintIdentifier = "DC37A7F85AC5E5958672B4F8" - BuildableName = "test" - BlueprintName = "test" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> + BlueprintIdentifier = "{{BLUEPRINT_ID}}" + BuildableName = "{{BUILDABLE_NAME}}" + BlueprintName = "{{BLUEPRINT_NAME}}" + ReferencedContainer = "container:{{CONTAINER}}"> </BuildableReference> </BuildActionEntry> </BuildActionEntries> @@ -32,10 +32,10 @@ <MacroExpansion> <BuildableReference BuildableIdentifier = "primary" - BlueprintIdentifier = "DC37A7F85AC5E5958672B4F8" - BuildableName = "test" - BlueprintName = "test" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> + BlueprintIdentifier = "{{BLUEPRINT_ID}}" + BuildableName = "{{BUILDABLE_NAME}}" + BlueprintName = "{{BLUEPRINT_NAME}}" + ReferencedContainer = "container:{{CONTAINER}}"> </BuildableReference> </MacroExpansion> <AdditionalOptions> @@ -46,8 +46,7 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle = "0" - useCustomWorkingDirectory = "YES" - customWorkingDirectory = "$(PROJECT_DIR)/../.." + useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" debugServiceExtension = "internal" @@ -56,10 +55,10 @@ runnableDebuggingMode = "0"> <BuildableReference BuildableIdentifier = "primary" - BlueprintIdentifier = "DC37A7F85AC5E5958672B4F8" - BuildableName = "test" - BlueprintName = "test" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> + BlueprintIdentifier = "{{BLUEPRINT_ID}}" + BuildableName = "{{BUILDABLE_NAME}}" + BlueprintName = "{{BLUEPRINT_NAME}}" + ReferencedContainer = "container:{{CONTAINER}}"> </BuildableReference> </BuildableProductRunnable> <CommandLineArguments> @@ -68,6 +67,13 @@ isEnabled = "NO"> </CommandLineArgument> </CommandLineArguments> + <EnvironmentVariables> + <EnvironmentVariable + key = "MAPBOX_ACCESS_TOKEN" + value = "{{MAPBOX_ACCESS_TOKEN}}" + isEnabled = "YES"> + </EnvironmentVariable> + </EnvironmentVariables> <AdditionalOptions> </AdditionalOptions> </LaunchAction> @@ -81,10 +87,10 @@ runnableDebuggingMode = "0"> <BuildableReference BuildableIdentifier = "primary" - BlueprintIdentifier = "DC37A7F85AC5E5958672B4F8" - BuildableName = "test" - BlueprintName = "test" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> + BlueprintIdentifier = "{{BLUEPRINT_ID}}" + BuildableName = "{{BUILDABLE_NAME}}" + BlueprintName = "{{BLUEPRINT_NAME}}" + ReferencedContainer = "container:{{CONTAINER}}"> </BuildableReference> </BuildableProductRunnable> </ProfileAction> diff --git a/platform/macos/macos.xcworkspace/xcshareddata/xcschemes/mbgl-offline.xcscheme b/platform/macos/scripts/library.xcscheme index 90ba9db153..012bc900c2 100644 --- a/platform/macos/macos.xcworkspace/xcshareddata/xcschemes/mbgl-offline.xcscheme +++ b/platform/macos/scripts/library.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0720" + LastUpgradeVersion = "0730" version = "1.3"> <BuildAction parallelizeBuildables = "YES" @@ -14,10 +14,10 @@ buildForAnalyzing = "YES"> <BuildableReference BuildableIdentifier = "primary" - BlueprintIdentifier = "960D5BDFBD73C605ACCF58C2" - BuildableName = "mbgl-offline" - BlueprintName = "mbgl-offline" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> + BlueprintIdentifier = "{{BLUEPRINT_ID}}" + BuildableName = "{{BUILDABLE_NAME}}" + BlueprintName = "{{BLUEPRINT_NAME}}" + ReferencedContainer = "container:{{CONTAINER}}"> </BuildableReference> </BuildActionEntry> </BuildActionEntries> @@ -29,15 +29,6 @@ shouldUseLaunchSchemeArgsEnv = "YES"> <Testables> </Testables> - <MacroExpansion> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "960D5BDFBD73C605ACCF58C2" - BuildableName = "mbgl-offline" - BlueprintName = "mbgl-offline" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> - </BuildableReference> - </MacroExpansion> <AdditionalOptions> </AdditionalOptions> </TestAction> @@ -46,22 +37,20 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle = "0" - useCustomWorkingDirectory = "YES" - customWorkingDirectory = "$(PROJECT_DIR)/../.." + useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> + <MacroExpansion> <BuildableReference BuildableIdentifier = "primary" - BlueprintIdentifier = "960D5BDFBD73C605ACCF58C2" - BuildableName = "mbgl-offline" - BlueprintName = "mbgl-offline" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> + BlueprintIdentifier = "{{BLUEPRINT_ID}}" + BuildableName = "{{BUILDABLE_NAME}}" + BlueprintName = "{{BLUEPRINT_NAME}}" + ReferencedContainer = "container:{{CONTAINER}}"> </BuildableReference> - </BuildableProductRunnable> + </MacroExpansion> <AdditionalOptions> </AdditionalOptions> </LaunchAction> @@ -71,16 +60,15 @@ savedToolIdentifier = "" useCustomWorkingDirectory = "NO" debugDocumentVersioning = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> + <MacroExpansion> <BuildableReference BuildableIdentifier = "primary" - BlueprintIdentifier = "960D5BDFBD73C605ACCF58C2" - BuildableName = "mbgl-offline" - BlueprintName = "mbgl-offline" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> + BlueprintIdentifier = "{{BLUEPRINT_ID}}" + BuildableName = "{{BUILDABLE_NAME}}" + BlueprintName = "{{BLUEPRINT_NAME}}" + ReferencedContainer = "container:{{CONTAINER}}"> </BuildableReference> - </BuildableProductRunnable> + </MacroExpansion> </ProfileAction> <AnalyzeAction buildConfiguration = "Debug"> diff --git a/platform/macos/scripts/macostest.xcscheme b/platform/macos/scripts/macostest.xcscheme deleted file mode 100644 index ba6f6a6f4b..0000000000 --- a/platform/macos/scripts/macostest.xcscheme +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Scheme - LastUpgradeVersion = "0720" - version = "1.3"> - <BuildAction - parallelizeBuildables = "YES" - buildImplicitDependencies = "YES"> - </BuildAction> - <TestAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> - <Testables> - <TestableReference - skipped = "NO"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "6EE19CDFBCE7BD04FE561812" - BuildableName = "macostest.xctest" - BlueprintName = "macostest" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> - </BuildableReference> - </TestableReference> - </Testables> - <AdditionalOptions> - </AdditionalOptions> - </TestAction> - <LaunchAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - launchStyle = "0" - useCustomWorkingDirectory = "NO" - ignoresPersistentStateOnLaunch = "NO" - debugDocumentVersioning = "YES" - debugServiceExtension = "internal" - allowLocationSimulation = "YES"> - <AdditionalOptions> - </AdditionalOptions> - </LaunchAction> - <ProfileAction - buildConfiguration = "Release" - shouldUseLaunchSchemeArgsEnv = "YES" - savedToolIdentifier = "" - useCustomWorkingDirectory = "NO" - debugDocumentVersioning = "YES"> - </ProfileAction> - <AnalyzeAction - buildConfiguration = "Debug"> - </AnalyzeAction> - <ArchiveAction - buildConfiguration = "Release" - revealArchiveInOrganizer = "YES"> - </ArchiveAction> -</Scheme> diff --git a/platform/macos/macos.xcworkspace/xcshareddata/xcschemes/mbgl-render.xcscheme b/platform/macos/scripts/node.xcscheme index c176861999..361ed58a37 100644 --- a/platform/macos/macos.xcworkspace/xcshareddata/xcschemes/mbgl-render.xcscheme +++ b/platform/macos/scripts/node.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0720" + LastUpgradeVersion = "0730" version = "1.3"> <BuildAction parallelizeBuildables = "YES" @@ -14,10 +14,10 @@ buildForAnalyzing = "YES"> <BuildableReference BuildableIdentifier = "primary" - BlueprintIdentifier = "D27AE71B9B193AD277AD4CFE" - BuildableName = "mbgl-render" - BlueprintName = "mbgl-render" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> + BlueprintIdentifier = "{{BLUEPRINT_ID}}" + BuildableName = "{{BUILDABLE_NAME}}" + BlueprintName = "{{BLUEPRINT_NAME}}" + ReferencedContainer = "container:{{CONTAINER}}"> </BuildableReference> </BuildActionEntry> </BuildActionEntries> @@ -29,15 +29,6 @@ shouldUseLaunchSchemeArgsEnv = "YES"> <Testables> </Testables> - <MacroExpansion> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "D27AE71B9B193AD277AD4CFE" - BuildableName = "mbgl-render" - BlueprintName = "mbgl-render" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> - </BuildableReference> - </MacroExpansion> <AdditionalOptions> </AdditionalOptions> </TestAction> @@ -47,21 +38,37 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle = "0" useCustomWorkingDirectory = "YES" - customWorkingDirectory = "$(PROJECT_DIR)/../.." + customWorkingDirectory = "{{WORKING_DIRECTORY}}" ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> + <PathRunnable + runnableDebuggingMode = "0" + FilePath = "{{NODE_PATH}}/node"> + </PathRunnable> + <MacroExpansion> <BuildableReference BuildableIdentifier = "primary" - BlueprintIdentifier = "D27AE71B9B193AD277AD4CFE" - BuildableName = "mbgl-render" - BlueprintName = "mbgl-render" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> + BlueprintIdentifier = "{{BLUEPRINT_ID}}" + BuildableName = "{{BUILDABLE_NAME}}" + BlueprintName = "{{BLUEPRINT_NAME}}" + ReferencedContainer = "container:{{CONTAINER}}"> </BuildableReference> - </BuildableProductRunnable> + </MacroExpansion> + <CommandLineArguments> + <CommandLineArgument + argument = "{{NODE_ARGUMENT}}" + isEnabled = "YES"> + </CommandLineArgument> + </CommandLineArguments> + <EnvironmentVariables> + <EnvironmentVariable + key = "PATH" + value = "{{NODE_PATH}}:$PATH" + isEnabled = "YES"> + </EnvironmentVariable> + </EnvironmentVariables> <AdditionalOptions> </AdditionalOptions> </LaunchAction> @@ -71,16 +78,15 @@ savedToolIdentifier = "" useCustomWorkingDirectory = "NO" debugDocumentVersioning = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> + <MacroExpansion> <BuildableReference BuildableIdentifier = "primary" - BlueprintIdentifier = "D27AE71B9B193AD277AD4CFE" - BuildableName = "mbgl-render" - BlueprintName = "mbgl-render" - ReferencedContainer = "container:../../build/macos/platform/macos/platform.xcodeproj"> + BlueprintIdentifier = "{{BLUEPRINT_ID}}" + BuildableName = "{{BUILDABLE_NAME}}" + BlueprintName = "{{BLUEPRINT_NAME}}" + ReferencedContainer = "container:{{CONTAINER}}"> </BuildableReference> - </BuildableProductRunnable> + </MacroExpansion> </ProfileAction> <AnalyzeAction buildConfiguration = "Debug"> diff --git a/platform/macos/scripts/package.sh b/platform/macos/scripts/package.sh index c2a015b346..603ecd179c 100755 --- a/platform/macos/scripts/package.sh +++ b/platform/macos/scripts/package.sh @@ -7,7 +7,7 @@ set -u NAME=Mapbox OUTPUT=build/macos/pkg DERIVED_DATA=build/macos -PRODUCTS=${DERIVED_DATA}/Build/Products +PRODUCTS=${DERIVED_DATA} BUILDTYPE=${BUILDTYPE:-Release} GCC_GENERATE_DEBUGGING_SYMBOLS=${SYMBOLS:-YES} |