Instead of using always just the minimum SDK version
we need to differentiate between SDK and NDK version.
Fixes: QTCREATORBUG-21536
Change-Id: I2f99c9d40ab05ccd2a4b8efeb2cd0300ecf0cf3a
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Fix fallout of this in KitInformation/Kit/KitManager and the wizards.
Change-Id: I5cb88cc381dc04409401909b810940ab6dccf86a
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Add and implement a method to get the supported target device
types to the BaseQtVersion interface. Implement this for all
Qt versions.
Validate that the Qt version's target device type matches up
with the device type set in the kit and warn on mismatch.
Change-Id: I95da42031022663776afe23a50eae3677bdb1dda
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Use Core::Id for Feature and QSet<Core::Id> for FeatureSet.
Change-Id: I12341036bd9eaa82589d92bd3f7d21f2e6b737bd
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Introduce the class AndroidQmakeBuildConfiguration whose purpose is
to set the environment variable. Modify the Factory to create
buildconfigurations of that type and fix restore/clone to also
take the factories' priorities into account.
Change-Id: Icb377fa9211cd3564c36b60cf7c5f7dd84fcab50
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
next if file =~ %r{src/shared/qbs|/qmljs/}
s = File.read(file)
s.scan(/^using namespace (.*);$/) {
ns = $1
t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
before = $1
char = $2
if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
m
else
before + char
end
}
if t != s
puts file
File.open(file, 'w').write(t)
end
}
}
Change-Id: I44745947f315b73f0b983d4362f884580dc2d94b
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Centralize the handling inside a new class ProjectTree.
React to moving focus and remove most special handling.
This properly fixes the linked task.
Task-number: QTCREATORBUG-13357
Change-Id: I6b06aa32b1e4305ec8a6d432857b302585d8734b
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
* Supported variables are %{Qt:version}, %{Qt:type} and %{Qt:mkspec}
* Qt version display names need no longer be unique. This simplifies
the code a bit and makes the Qt versions behave like the Kits do now.
* The default Qt version name now contains %{Qt:version}. The method
to find the default version name no longer takes a Qt version string.
Change-Id: Ibca1e3daffe5a81f3c158e8bbc1779d033b03872
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
- Split up androiddeployqt into two steps: One building the apk,
and one deploying it to the device.
- The build apk step base class AndroidBuildApkStep is ihneritaged by
the qmake specific class QmakeAndroidBuildApkStep.
- The deployment step is still called androiddeployqt
- Move all qmake specific code to the qmakeprojectmanager plguin
- Flip the depencency between the android and qmake plugin, now
the qmake plugin depends on the android plugin, implementing
a interface the android plugin provides.
- Note: This removes the debug deployment for now.
Change-Id: I1c386640159ed14b637668abde8eb3b9009ab803
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Make it possible to create multiple AndroidConfigs so that we can have
a different one in the settings dialog from the global one. Move pretty
much every method from AndroidConfigurations to AndroidConfig, so that
the settings dialog can work with its copy. Also add some additional
logic to the settings page around the java setting. To start the avd
manager we need both a sdk path and a java path. Also do some basic
additional checking of the java path.
Task-number: QTCREATORBUG-7724
Task-number: QTCREATORBUG-10936
Task-number: QTCREATORBUG-10937
Task-number: QTCREATORBUG-11059
Task-number: QTCREATORBUG-11218
Change-Id: I148c69b9c98a8a070d17d9b0e223d01db1750e69
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
ios now uses libQt5Core_iphonesimulator.a and libQt5Core.a for device
and simulator, this changes detects both architectures.
Change-Id: I0e2883c06355eb2b75aeeba4365c8aea14bb8ced
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
The available platforms in the ndk might not be the same as in the sdk.
This patch is renames everything using the ndk platform list to
ndkPlatforms, except the highestAvailablePlatform which wrongly uses
the ndk platform list.
Change-Id: I02d9b68bbc27b0c748281678fe654d5f4244578d
Reviewed-by: BogDan Vatra <bogdan@kde.org>
There are 3 different sdk settings:
- The minimum sdk setting from the AndroidManifest.xml
- The target sdk setting from the AndroidManifest.xml
- The target sdk setting from the project.properties file
The last one is now called buildTargetSDK, since it only affects the
build.
Change-Id: I373d925a45088ff0cf8a8e0b22cf9744e571eeb1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
The slowness is due to AndroidToolChain::addToEnvironment() being called
a lot on project opening. Thus we need to avoid any file opening or
process on loading.
This patch does 2 things:
a) It removes the call to sdkTargets() which is unneeded. That actually
checks which avds are available.
b) It caches the target sdk inside a named target setting. That means,
we assume that the file does not change behind our backs.
Task-number: QTCREATORBUG-9164
Change-Id: I9287934a0624db0b3e8318b8cf76e605418850c2
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Currently the Android plugin only checks for the linux-x86 prebuilds in the
64-bit Android NDK (and mingw-and-ndk), this means Qt Creator goes bonkers
because it can't find the toolchain and debugger for the kits it
auto-detects/creates.
A work around is to symlink linux-x86_64 to linux-x86 in every toolchain.
Change-Id: I04522b65ef48b6090a9f6925e8e3420ad1d333ee
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
We need to set ANDROID_NDK_PLATFORM in the environment, but doing so is
not really possible on a per project basis. Make the hack in
AndroidQtVersion that sets ANDROID_NDK_PLATFORM safer by checking if the
current project's active target is indeed using a android kit.
Change-Id: Ifcdb07a19708ac6bac5f5a02caa1ff197c0e4d80
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
This will trigger a run of qmake -query which depends on a virtual
method. Set the display name in the derived Qt versions instead.
Change-Id: I47380fd25d38a2cf748a26e9c8324f3b23cb3b39
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
- Fix typos and various capitalization errors.
- Fix wrong placeholders.
- Remove QCoreApplication::tr().
- Fix androidpackagecreationwidget.ui, remove translation
from combo and clean up some HTML markup.
Change-Id: I51bcdad90c770c0f861a9d17e92b9c9222c6e8bf
Reviewed-by: Robert Löhning <robert.loehning@nokia.com>
- ProjectExplorer::Profile should appear as 'Target' in the UI.
- Fix messagebox title capitalization
- Fix Q_DECLARE_TR_FUNCTIONS to contain fully qualified class
names, add where applicable to replace
QCoreApplication::translate().
- Introduce message utility function for the commonly used
'No tool chain set up for this profile' message to
ToolChainProfileInformation.
- Introduce message utility functions related to adding files
to version control to VcsManager to be shared by QmlJsEditor.
- Fix typos.
- Remove QObject::tr(), QCoreApplication::tr().
- Do not translate diagnostic console warnings of
QmlProfiler.
Change-Id: I6cee717a504796ef39f6eae58f552c5c8630adf3
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Introduce Profiles to store sets of values that describe a system/device.
These profiles are held by a target, getting rid of much of the information
stored in the Build-/Run-/DeployConfigurations, greatly simplifying those.
This is a squash of the wip/profile branch which has been on gerrit for a
while, rebased to current master.
Change-Id: I25956c8dd4d1962b2134bfaa8a8076ae3909460f
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Use Core::Id for all the project related objects in favor of plain
QStrings.
Change-Id: I790ab40cb29899efdb49c413a77609486f52e683
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>