When a toolchain did not specify an operating system, we did not set
qbs.targetOS, which meant it stayed at its default value (qbs.hostOS).
Instead, we correctly set it to an empty list now.
Task-number: QTCREATORBUG-17452
Change-Id: I2c7030013ea7a1f954e8d0f7059b471008a0ed72
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
-arch is not allowed in compiler flags as it's automatically handled by
the qbs.architecture property, and is an error in current versions of
Qbs. If the architecture was successfully detected, remove the flags.
Change-Id: I85cce7b7f4ef5a92f857ec624a912861bcb267f5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This is unnecessary (and counterproductive) with automatic linker mode
in Qbs 1.6.
Change-Id: I808effead885eeba0d524fa27989b8a54b8c655f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This adds xcode to the toolchain list, which is required to load the
Xcode module. It also uses the compiler path as the mechanism to find
the developer path, and then extracts the canonical SDK name using the
sysroot if it's a valid one for the previously extracted developer path.
amends d121fefaa9
Change-Id: I73cf1a50acd6b99a9fc3b6003bcc6dc23c2a04ab
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The Xcode related properties in the cpp module no longer exist. Use the
correct ones, and be a little stricter about extracting the constituent
components from the sysroot.
Change-Id: I6ceaebf529764e69e1e04af6650a2920b139fac2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Somebody mistakenly introduced qbsconstants.h, even though
qbsprojectmanagerconstants.h already existed for that purpose. Merge
these two files and remove the newer one.
Change-Id: I6103509d902880d0e9c181873ec4cf56acf04424
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
If one of the two compiler types in the Kit is not set, leave the
respective value in qbs at its default. Things will likely work anyway,
whereas setting an empty compiler name is guaranteed to break.
Task-number: QTCREATORBUG-17109
Change-Id: I2b4153cb9a9daafb2f57659e16622e00d3921005
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
This lead to weird behavior regarding compiler name and toolchain
prefix.
Task-number: QBS-1022
Change-Id: I10abfb22ee71aed6ec5ebc6b3eb477536c86f717
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
This makes clear that the ABI encompasses all Darwin platforms (macOS,
iOS, tvOS, watchOS) in the wake of the OS X to macOS rename, and would
have been more technically correct anyways since ABIs are far below the
"macOS" parts of our favorite desktop Unix operating system.
Change-Id: I16d1477f44ffe70e5d8cddd67199a1602ba6fd97
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This reverts commit 3c63b621d9.
This is no longer necessary because Qbs determines the version automatically.
Change-Id: I80161ddf366091eca8bb1e1b29657371e9a7b0fb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This is unnecessary now that Qbs handles the linker automatically.
Change-Id: I8c6270f74355bfa274717a7791daf8d1f4721e00
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
BREAKS BACKWARD COMPATIBILITY OF TOOLCHAIN SETTINGS!
* Convert old ToolChainKitInformation to new version
* Store several toolchains in one kit (one per language)
Change-Id: Ia59a2ad067c57971ec34ce9b2e43758344443755
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
The current version of qbs handles this automatically.
Change-Id: I81905335fd3366198164436e7125944ad8a3d304
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Commit aad5ca12c4 was over-eager, wrongly assuming the presence of
cpp.cxxCompilerName for MSVC and also not taking into account that
we don't set cpp.compilerVersion* from Qt Creator.
Task-number: QBS-846
Change-Id: Id6a88c18f2c460ef66f0339aeb999b7fc0321225
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Keep QNX.
A short informal search did not turn up any more blackberry users,
even though there is interest in QNX. So this patch removes the
platform: We had no contact with the maintainers in months, there
are no changes going into the code for about as long.
I am not even aware of anybody testing the platform, so any
remaining users are probably better of with Qt Creator 3.2 or so
where the code was extensively tested.
Change-Id: Ibeda6bfd8565599918cfcc08fd01cb5ed8793dc2
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
If someone specifies C compiler instead of C++ one, then
extractToolchainPrefix() returns an empty result which
causes invalid behaiour on build stage.
Task-number: QTCREATORBUG-14250
Change-Id: I94d2a281c6a98178c486019344c6cdc71ac50a49
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
To work around the "-x" bug in icecream.
Change-Id: I7d95aa120ad344f6662c265fe81ab98752c7cd1e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Creator derives its qbs profiles from the kits and overwrites
them as it sees fit, which means users cannot set custom properties
by editing the respective settings files or using the normal
qbs command-line tools. Therefore, we need to provide them with
a way to do this from Creator itself. For this purpose, we
introduce a settings page where a user can add or override
qbs properties per kit. The resulting "diff" is then applied
whenever the profiles are written, so qbs will take the
custom properties into account.
Change-Id: I909f5243c65647f62c91a2afa242fd531ddaf915
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This is an (effectively) required property which is necessary to locate
a number of SDK tools.
Change-Id: Ia4912e383a053c7abcbd47715cf4b130c4fbafd6
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
And do the required adaptation in QbsProjectManager.
Change-Id: Ib383ebf99ceb638a545158d426769bf963086a1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Set toolchain list centrally.
Set target OS for additional operating systems: WinRT, Windows CE,
Android, FreeBSD, NetBSD, OpenBSD, BSD (generic), BlackBerry, QNX,
and Solaris.
No more "else assumptions" which would for example detect Clang on
Windows as MSVC, any non-Clang toolchains as GCC, or any unrecognized
operating systems as Unix.
bsd4 is gone as it is not necessary in any practical sense (and no other
operating systems have different identifiers by version -- there is a
dedicated hostOSVersion property anyways).
Detect iOS without relying on Qt.
Change-Id: I38e2adf188d4604182ec84003dc5d281fce025cc
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
As opposed to gcc, we can't just invoke the compiler binary for linking.
Task-number: QTCREATORBUG-12824
Change-Id: Icdf8b7217b14976a7a4249b5d0c5cc5f76ffdd9f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>