[build] add Xcode project for Qt builds
This commit is contained in:
30
Makefile
30
Makefile
@@ -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
|
||||
|
||||
@@ -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`)#;\
|
||||
|
||||
Reference in New Issue
Block a user