diff options
-rw-r--r-- | Makefile | 30 | ||||
-rwxr-xr-x | platform/macos/scripts/create_scheme.sh | 8 |
2 files changed, 33 insertions, 5 deletions
@@ -319,7 +319,8 @@ endif #### Qt targets ##################################################### -export QT_OUTPUT_PATH = build/qt-$(BUILD_PLATFORM)-$(BUILD_PLATFORM_VERSION)/$(BUILDTYPE) +QT_ROOT_PATH = build/qt-$(BUILD_PLATFORM)-$(BUILD_PLATFORM_VERSION) +export QT_OUTPUT_PATH = $(QT_ROOT_PATH)/$(BUILDTYPE) QT_BUILD = $(QT_OUTPUT_PATH)/build.ninja $(QT_BUILD): $(BUILD_DEPS) @@ -334,6 +335,33 @@ $(QT_BUILD): $(BUILD_DEPS) -DWITH_CXX11ABI=$(shell scripts/check-cxx11abi.sh) \ -DWITH_COVERAGE=${WITH_COVERAGE}) +ifeq ($(HOST_PLATFORM), macos) + +MACOS_QT_PROJ_PATH = $(QT_ROOT_PATH)/xcode/mbgl.xcodeproj +$(MACOS_QT_PROJ_PATH): $(BUILD_DEPS) + mkdir -p $(QT_ROOT_PATH)/xcode + (cd $(QT_ROOT_PATH)/xcode && cmake -G Xcode ../../.. \ + -DBUILD_PLATFORM=$(BUILD_PLATFORM) \ + -DMBGL_PLATFORM=qt \ + -DWITH_QT_DECODERS=${WITH_QT_DECODERS} \ + -DWITH_QT_4=${WITH_QT_4} \ + -DWITH_CXX11ABI=$(shell scripts/check-cxx11abi.sh) \ + -DWITH_COVERAGE=${WITH_COVERAGE}) + + @# Create Xcode schemes so that we can use xcodebuild from the command line. CMake doesn't + @# create these automatically. + XCODEPROJ=$(MACOS_QT_PROJ_PATH) SCHEME_NAME=mbgl-qt SCHEME_TYPE=executable platform/macos/scripts/create_scheme.sh + XCODEPROJ=$(MACOS_QT_PROJ_PATH) SCHEME_NAME=mbgl-qt-qml SCHEME_TYPE=executable platform/macos/scripts/create_scheme.sh + XCODEPROJ=$(MACOS_QT_PROJ_PATH) SCHEME_NAME=mbgl-test SCHEME_TYPE=executable platform/macos/scripts/create_scheme.sh + XCODEPROJ=$(MACOS_QT_PROJ_PATH) SCHEME_NAME=mbgl-core SCHEME_TYPE=library BUILDABLE_NAME=libmbgl-core.a BLUEPRINT_NAME=mbgl-core platform/macos/scripts/create_scheme.sh + XCODEPROJ=$(MACOS_QT_PROJ_PATH) SCHEME_NAME=qmapboxgl SCHEME_TYPE=library BUILDABLE_NAME=libqmapboxgl.dylib BLUEPRINT_NAME=qmapboxgl platform/macos/scripts/create_scheme.sh + +.PHONY: qtproj +qtproj: $(MACOS_QT_PROJ_PATH) + open $(MACOS_QT_PROJ_PATH) + +endif + .PHONY: qt-app qt-app: $(QT_BUILD) $(NINJA) -j$(JOBS) -C $(QT_OUTPUT_PATH) mbgl-qt diff --git a/platform/macos/scripts/create_scheme.sh b/platform/macos/scripts/create_scheme.sh index 71f0e0855b..5a609130d8 100755 --- a/platform/macos/scripts/create_scheme.sh +++ b/platform/macos/scripts/create_scheme.sh @@ -2,8 +2,8 @@ set -u -CONTAINER=build/macos/mbgl.xcodeproj -OUTPUT="${CONTAINER}/xcshareddata/xcschemes/${SCHEME_NAME}.xcscheme" +XCODEPROJ=${XCODEPROJ:-build/macos/mbgl.xcodeproj} +OUTPUT="${XCODEPROJ}/xcshareddata/xcschemes/${SCHEME_NAME}.xcscheme" # Required ENV vars: # - SCHEME_TYPE: type of the scheme @@ -26,13 +26,13 @@ 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" +mkdir -p "${XCODEPROJ}/xcshareddata/xcschemes" sed "\ s#{{BLUEPRINT_ID}}#${BLUEPRINT_ID}#;\ s#{{BLUEPRINT_NAME}}#${BLUEPRINT_NAME}#;\ s#{{BUILDABLE_NAME}}#${BUILDABLE_NAME}#;\ -s#{{CONTAINER}}#${CONTAINER}#;\ +s#{{CONTAINER}}#${XCODEPROJ}#;\ s#{{MAPBOX_ACCESS_TOKEN}}#${MAPBOX_ACCESS_TOKEN}#;\ s#{{WORKING_DIRECTORY}}#$(pwd)#;\ s#{{NODE_PATH}}#$(dirname `which node`)#;\ |