Generalize the target setup page and move it into projectexplorer
Move the qmake specific code into a projectimporter class with
a specialization for qmake projects in the qt4projectmanager.
This change depends heavily on the BuildConfigurationFactory cleanups
done earlier and completes that change in such a way that generic
build configuration factories are now in theory possible. The
remaining problem is how to select the best factory of several that
claim to be able to handle a kit and that is left for the next patch.
Change-Id: I47134cb1938c52adebcdc1ddfe8dbf26abbbbeee
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Refactor the code of the build configuration factories. The idea is to
generalize the code so much that we can allow plugins to install
custom build configuration factories for the platforms they support.
To support this use case the following changes where done here:
* BuildInfo class was introduced to describe one build configuration that
can be created by a factory.
* Factories report a list of BuildInfo to describe what they can produce.
This fixes the need for factories to implicitly create one buildconfiguration
and then create another one 'officially' to support debug and release build
configurations to be set up for projects.
* Do no longer work around factories to create build configurations.
Change-Id: Ic372e4a9b5c582633b467d130538948472b89d91
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Use setBuildDirectory() in the different BuildConfigurations instead
of reimplementing that over and over again.
Change-Id: Ic355fdb4624c71667ce470b3e2865c9a8722ef09
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Add a include for QtDebug elsewhere where this include tended to add this
implicitly.
Also remove a using namespace directive that is unused and no longer works
since the namespace is no longer defined due to the removed include.
Change-Id: Ic216127a96c8aa11366defa0397f934d5a735925
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Indicating that new widgets are indeed created.
Change-Id: Iccc5e1e99f536fdfb0718f252a23f498053ad3a3
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Which simply returns a BuildEnvironmentWidget. A long time ago
BuildConfigurations had no environment, nowdays they do. So it makes
sense for all BuildConfigurations to have the BuildEnvironmentWidget.
Change-Id: I824c45df79a0dcd2b624bf67a4730fb5dab098bc
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Not just qt4 and cmake but also generic projects.
Change-Id: I4a7e86fb2dbf6c6e32b4da78953ad3199c554470
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Rename profiles to kits.
* Update some strings:
* projects mode has a Kits tab, not a Targets tab.
* " Settings" was dropped from the sub-tabs of the Kits tab
* menu entry "Build/Open Build/Run Target Selector" was renamed
to "Build/Open Build and Run Kits Selector".
* Use "Kit" instead of "Target" in miniprojecttargetselector.
(The class was not renamed as it does indeed select targets,
not kits)
Change-Id: I0727e086e2dfa0e8aaaf89fdc6f2e3596c7a4314
Reviewed-by: Eike Ziller <eike.ziller@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>
Those are just comments on the code, nothing to do.
Change-Id: I1daaa26eafd3d5f4da1d4be3eede9996ea87248f
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Remove the paths that qtcreator.sh adds to LD_LIBRARY_PATH.
The linker uses LD_LIBRARY_PATH as a fall-back to find libraries,
leading to confussing error messages.
Task-number: QTCREATORBUG-7285
Change-Id: I1a2ba86e39f4c417b192d4faea4714165fdb4aac
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>
Getting the #include directives ready for Qt5. This includes the
new-project wizards.
Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Save/Restore has been updated to reflect this:
We now save manual as well as auto-detected tool chains into the user
toolChains.xml file.
When loading we load the SDK as well as the user toolChains.xml files.
We then do a autodetection run. All the tool chains restored that are
marked up as auto-detected are then checked again:
* the tool chain was autodetected again: Throw away the newly auto-
detected tool chain and reuse the saved one. This makes sure we
keep the QUuid that is now part of the tool chains id.
* the tool chain was not autodetected again: Throw away the saved
tool chain.
* the tool chain was newly autodetected: Add the new tool chain
We keep the old id around in the legacyId() method. It is used when
loading old .user files only. So there is no need to implement this
method for new tool chains.
Task-number: QTCREATORBUG-6702
Change-Id: Ifc0a216e5351a8a57db03615ba329e355e7d5f59
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Do the same as in case of "Deploy" string: after
restoring overwrite it with proper translated string.
Side note: tr("Build") and tr("Clean") have already
been used inside buildconfiguration.cpp so it will
not produce a new record in .ts file, i.e. this
change is not introducing a new message in string freeze
period.
Task-number: QTCREATORBUG-6595
Change-Id: I05040bba5066cbe0b55085cb2acbe43df34becd7
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Split up target specific code into subclasses. Also change
Qt4BuildConfiguration to allow a null qtversion.
Remove code that relied on always having a qt version.
Also make it possible to remove all qt versions.
Completly change the qt in path autodetection to be only
a fall back if no configuration was found.
Note: For now the old settings are not removed, as such 2.2 and master
can coexist.
Reviewed-By: hunger
Fix crash on trying to debug an application after the last
tool chain for the Qt version used was removed.
Task-number: QTCREATORBUG-4197
Reviewed-by: dt
Refactor ToolChains in Qt Creator:
* Allow for several toolchains of the same type
* Be smarter wrt. guessing what kind of output a toolchain
produces. This allows us to eventually handle e.g. embedded
linux setups way better than before.
* Be smarter wrt. guessing what kind of environment a Qt version
needs.
* Improve auto-detection of toolchains a bit
* Decide on which debugger to use based on the kind of output
produced by the compiler.
* Add options page to configure toolchains
* Remove toolchain related options from the Qt version dialog
Reviewed-by: dt
The build actions are disabled if the buildconfiguration is disabled.
The deploy and run actions are disabled if deploying or running invokes
building automatically.
Qt4BuildConfigurations are disabled while parsing.
Task-Nr: QTCREATORBUG-2576