Commit Graph

6 Commits

Author SHA1 Message Date
Alexandru Croitor
7ec2153016 qmake: iOS: Don't pass -fobjc-nonfragile-abi -fobjc-legacy-dispatch
According to latest clang source code (llvm-14.0.3) non-fragile ABI
is default for everything but i386 which means we can stop passing the
-fobjc-nonfragile-abi option.

See
https://github.com/llvm/llvm-project/blob/llvmorg-14.0.3/clang/lib/Driver/ToolChains/Darwin.h#L245

This gets rid of the following warning when building a qmake project
for iOS, while targeting the iOS simulator:
  clang: warning: argument unused during compilation:
   '-fobjc-nonfragile-abi' [-Wunused-command-line-argument

It only happens for the simulator case because Xcode adds the
-fobjc-abi-version=2 option, thus the qmake one gets ignored.

As a drive-by also remove the usage of the -fobjc-legacy-dispatch
option. According to clang sources it should be implicitly used
on iOS.
See
https://github.com/llvm/llvm-project/blob/llvmorg-14.0.3/clang/include/clang/Basic/ObjCRuntime.h#L100

Amends d788f636691df5cae59d44a3828a0ddd58c343d0

Pick-to: 6.2 6.3
Fixes: QTBUG-103001
Change-Id: I06f8e46e40a1f04c5bbc4f177afa035e525dfed6
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-05-23 21:12:06 +02:00
Lucie Gérard
05fc3aef53 Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Files that have to be modified by hand are modified.
License files are organized under LICENSES directory.

Task-number: QTBUG-67283
Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-05-16 16:37:38 +02:00
Liang Qi
dfc177e3a9 Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
	qmake/library/qmakeevaluator.cpp
	(cherry picked from commit 1af6dc2c8fb4d91400fddc5050166f972ae57c9a in qttools)
	src/corelib/kernel/qcore_mac_objc.mm
	src/gui/painting/qcolor.h
	src/plugins/platforms/cocoa/qcocoawindow.mm

Change-Id: I5b3ec468a5a9a73911b528d3d24ff8e19f339f31
2016-10-13 09:49:38 +02:00
Jake Petroules
b012f55017 Remove unnecessary compiler and warning flags from UIKit mkspecs
All of these flags were blindly copied from Xcode and all of them are
not needed because they are unnecessary or at the very least are for no
reason specific to iOS/tvOS/watchOS.

 * -fvisibility=hidden,
   -fvisibility-inlines-hidden - handled in common/gcc-base.conf
 * -fpascal-strings - a Mac OS Classic legacy, no one uses these
 * -fmessage-length=0 - formatting option, not needed
 * -fexceptions, -fasm-blocks - these are on by default and not needed

All explicitly enabled warnings are enabled by -Wall, which is handled
in common/gcc-base.conf. All explicitly disabled warnings should not be
disabled because we simply do not do this anywhere else in qmake.

Change-Id: Ifb9b2ff100837c7cf5888493a6413c972609598d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2016-08-26 22:49:52 +00:00
Jake Petroules
0b9acb3e32 Move common/ios configurations into common/uikit
These actually affect all UIKit platforms (tvOS, watchOS), not just iOS.

Change-Id: I2b45ebecb10d11e33d301071093b5342ce101816
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-22 13:27:14 +00:00
Mike Krus
03e9c6f4a6 Add support for Apple tvOS
Pass -xplatform macx-tvos-clang to configure to build.
Builds device and simulator by default.

Added ‘uikit’ platform with the common setup.
Also added QT_PLATFORM_UIKIT define (undocumented).
qmake config defines tvos (but not ios).

tvOS is 64bits only (QT_ARCH is arm64) and requires bitcode to be
embedded in the binary. A new ‘bitcode’ configuration was added.
For ReleaseDevice builds (which get archived and push to the store),
bitcode is actually embedded (-fembed-bitcode passed to clang). For all
other configurations, only using bitcode markers to keep file size
down (-fembed-bitcode-marker).

Build disables Widgets in qtbase, and qtscript (unsupported,
would require fixes to JavaScriptCore source code).

Qpa same as on iOS but disables device orientation, status bar, clipboard,
menus, dialogs which are not supported on tvOS.

Change-Id: I645804fd933be0befddeeb43095a74d2c178b2ba
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-05-17 16:11:23 +00:00