5d181961ea
Also catches some more variants of SDK mismatch, such as Xcode not being installed at all, or the SDK missing. Change-Id: I184aaa571ef0ea722ca64c54f665462dabc17533 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
26 lines
1.7 KiB
Makefile
26 lines
1.7 KiB
Makefile
|
|
ifeq ($(QT_MAC_SDK_NO_VERSION_CHECK),)
|
|
CHECK_SDK_COMMAND = /usr/bin/xcrun --sdk $(EXPORT_QMAKE_MAC_SDK) -show-sdk-version 2>&1
|
|
CURRENT_MAC_SDK_VERSION := $(shell DEVELOPER_DIR=$(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) $(CHECK_SDK_COMMAND))
|
|
ifneq ($(CURRENT_MAC_SDK_VERSION),$(EXPORT_QMAKE_MAC_SDK_VERSION))
|
|
# We don't want to complain about out of date SDK unless the target needs to be remade.
|
|
# This covers use-cases such as running 'make check' after moving the build to a
|
|
# computer without Xcode or with a different Xcode version.
|
|
TARGET_UP_TO_DATE := $(shell QT_MAC_SDK_NO_VERSION_CHECK=1 $(MAKE) --question $(QMAKE_TARGET) && echo 1 || echo 0)
|
|
ifeq ($(TARGET_UP_TO_DATE),0)
|
|
ifneq ($(findstring missing DEVELOPER_DIR path,$(CURRENT_MAC_SDK_VERSION)),)
|
|
$(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) is no longer valid.)
|
|
else ifneq ($(findstring SDK "$(EXPORT_QMAKE_MAC_SDK)" cannot be located,$(CURRENT_MAC_SDK_VERSION)),)
|
|
$(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) no longer contains the $(EXPORT_QMAKE_MAC_SDK_VERSION) platform SDK.)
|
|
else ifneq ($(CURRENT_MAC_SDK_VERSION),)
|
|
$(info The platform SDK has been changed from version $(EXPORT_QMAKE_MAC_SDK_VERSION) to version $(CURRENT_MAC_SDK_VERSION).)
|
|
else
|
|
$(info Unknown error resolving current platform SDK version.)
|
|
endif
|
|
$(info This requires a fresh build. Please wipe the build directory completely,)
|
|
$(info including any .qmake.stash and .qmake.cache files generated by qmake.)
|
|
$(error ^)
|
|
endif
|
|
endif
|
|
endif
|