The mapping was not quite right. In particular, cpp.cCompilerName needs
to be set if the compiler name is not the default.
Task-number: QTCREATORBUG-19467
Change-Id: I6c190fdda98ff15dce6066bfb082d24853538a78
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Use case-insensitive comparisons instead of converting toLower() first.
Found by clazy.
Change-Id: I0d32b0ba7ccb5493d1c86d41044b09c8baed3dc8
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Auto-detecting the architecture in qbs is all well and good, but if the
user explicitly set an ABI in the toolchain widget, we must set
qbs.architecture accordingly.
Change-Id: I3a2c441ceea5e939e43764e0468588d2d0ef323c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
... and use it to allow users to set custom properties in the
corresponding profile. This replaces the idiosyncratic and more
complicated approach we had before, when that was done in the qbs
profiles settings page. The profiles view is now read-only.
Change-Id: I0c29c1ac0c510e17d685e7bbaa38b54c8100ddb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This lets qbs handle architectures entirely for GCC/MinGW, ICC, and MSVC
toolchains, as well as projects targeting Android or any Apple platform
with any toolchain. Now Qt Creator only passes down architecture
information to qbs for QNX/QCC and Clang on Windows, Linux, BSD, etc.
Change-Id: I44925671d7f280890f9e25a5726d019d3f98dea9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
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>