2011-04-27 10:05:43 +00:00
|
|
|
load(default_post)
|
2016-09-21 03:18:45 +00:00
|
|
|
|
|
|
|
# Ensure that we process sdk.prf first, as it will update QMAKE_CXX
|
|
|
|
# and friends that other features/extra compilers may depend on.
|
|
|
|
sdk: load(sdk)
|
|
|
|
|
2011-04-27 10:05:43 +00:00
|
|
|
!no_objective_c:CONFIG += objective_c
|
|
|
|
|
2015-06-04 16:55:55 +00:00
|
|
|
qt {
|
2016-08-05 11:35:39 +00:00
|
|
|
qtConfig(static) {
|
2014-01-27 16:17:04 +00:00
|
|
|
# C++11 support means using libc++ instead of libstd++. As the
|
|
|
|
# two libraries are incompatible we need to ensure the end user
|
|
|
|
# project is built using the same C++11 support/no support as Qt.
|
2016-08-05 11:35:39 +00:00
|
|
|
qtConfig(c++11) {
|
2014-01-27 16:17:04 +00:00
|
|
|
CONFIG += c++11
|
|
|
|
} else: c++11 {
|
|
|
|
warning("Qt was not built with C++11 enabled, disabling feature")
|
|
|
|
CONFIG -= c++11
|
|
|
|
}
|
2014-01-27 16:27:36 +00:00
|
|
|
|
|
|
|
!c++11 {
|
|
|
|
# Explicitly use libstdc++ if C++11 support is not enabled,
|
|
|
|
# as otherwise the compiler will choose the standard library
|
|
|
|
# based on the deployment target, which for iOS 7 and OS X 10.9
|
|
|
|
# is libc++, and we can't mix and match the two.
|
|
|
|
QMAKE_CXXFLAGS += -stdlib=libstdc++
|
|
|
|
QMAKE_LFLAGS += -stdlib=libstdc++
|
|
|
|
}
|
2014-01-27 16:17:04 +00:00
|
|
|
}
|
2011-04-27 10:05:43 +00:00
|
|
|
}
|
2013-04-03 13:27:27 +00:00
|
|
|
|
2016-05-28 09:13:34 +00:00
|
|
|
# Add the same default rpaths as Xcode does for new projects.
|
|
|
|
# This is especially important for iOS/tvOS/watchOS where no other option is possible.
|
|
|
|
!no_default_rpath {
|
|
|
|
QMAKE_RPATHDIR += @executable_path/Frameworks
|
|
|
|
equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
|
|
|
|
}
|
|
|
|
|
2016-08-19 03:40:38 +00:00
|
|
|
!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
|
|
|
|
|
2016-09-21 03:18:45 +00:00
|
|
|
macx-xcode {
|
|
|
|
!isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
|
|
|
|
debug_information_format.name = DEBUG_INFORMATION_FORMAT
|
|
|
|
debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
|
|
|
|
debug_information_format.build = debug
|
|
|
|
QMAKE_MAC_XCODE_SETTINGS += debug_information_format
|
|
|
|
}
|
|
|
|
|
|
|
|
QMAKE_XCODE_ARCHS =
|
|
|
|
|
|
|
|
arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
|
|
|
|
arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
|
|
|
|
QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
|
|
|
|
QMAKE_MAC_XCODE_SETTINGS += arch_device
|
|
|
|
|
|
|
|
simulator {
|
|
|
|
arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
|
|
|
|
arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
|
|
|
|
QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
|
|
|
|
QMAKE_MAC_XCODE_SETTINGS += arch_simulator
|
|
|
|
}
|
|
|
|
|
|
|
|
only_active_arch.name = ONLY_ACTIVE_ARCH
|
|
|
|
only_active_arch.value = YES
|
|
|
|
only_active_arch.build = debug
|
|
|
|
QMAKE_MAC_XCODE_SETTINGS += only_active_arch
|
|
|
|
} else {
|
|
|
|
VALID_ARCHS =
|
2016-11-01 09:27:41 +00:00
|
|
|
device|!simulator: VALID_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
|
2016-09-21 03:18:45 +00:00
|
|
|
simulator: VALID_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
|
|
|
|
|
2016-11-17 13:15:53 +00:00
|
|
|
isEmpty(VALID_ARCHS): \
|
|
|
|
error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
|
|
|
|
|
2016-09-21 03:18:45 +00:00
|
|
|
single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
|
|
|
|
|
|
|
|
ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
|
|
|
|
ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
|
|
|
|
|
|
|
|
QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
|
|
|
|
|
|
|
|
arch_flags = $(EXPORT_ARCH_ARGS)
|
|
|
|
|
|
|
|
QMAKE_CFLAGS += $$arch_flags
|
|
|
|
QMAKE_CXXFLAGS += $$arch_flags
|
|
|
|
QMAKE_LFLAGS += $$arch_flags
|
|
|
|
|
|
|
|
QMAKE_PCH_ARCHS = $$VALID_ARCHS
|
2014-03-13 15:16:22 +00:00
|
|
|
}
|
|
|
|
|
2013-10-31 19:27:54 +00:00
|
|
|
cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
|
|
|
|
cache(QMAKE_XCODE_VERSION, stash)
|
2013-05-08 10:21:05 +00:00
|
|
|
|
2013-10-25 15:00:10 +00:00
|
|
|
QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
|