Commit Graph

57 Commits

Author SHA1 Message Date
dt
cce21d430d Don't run if the qmake arguments are just in a different order
The code is technically incorrect and easy to fool.
See the comment in the patch.
2010-08-30 16:47:34 +02:00
dt
82e137763e More optional debug output for import bc 2010-08-30 16:47:34 +02:00
dt
b68a57b23e Don't import QMLINSPECTOR_PATH qmake settings.
Task-Nr: QTCREATORBUG-2209
2010-08-30 16:47:34 +02:00
Tobias Hunger
8cd3b54949 Fix import of existing builds
* Report what kind of build we have in the tooltip
 * Create only debug/release configuration for debug/release
   configured directories
 * Create debug and release configuraions for debug_and_release
   configured directories
 * Add debug_and_release to options in QMakeStep UI
 * Do not add CONFIG+=debug/release to CONFIG+=debug_and_release builds
2010-08-16 17:53:34 +02:00
dt
bc28670a17 Fix always running of qmake 2010-08-11 15:39:59 +02:00
Tobias Hunger
ee4a04a20b Refactor deployment
* Add a DeployConfiguration class to hold settings related
   to deployment.
 * Add BuildStepsList to hold a list of buildsteps
 * Update BuildConfiguration to use BuildStepLists instead of
   manageing lists of buildsteps itself.
 * Update BuildManager to use BuildStepLists in its interfaces
 * Fix fallout introduced by API changes
 * Update .user file to new way of storing settings

Task-number: QTCREATORBUG-1427
Task-number: QTCREATORBUG-1428
Task-number: QTCREATORBUG-1811
Task-number: QTCREATORBUG-1930
2010-08-02 14:21:05 +02:00
dt
870da8e7e3 Make the build parser for custom build steps depend on the toolchain
The API addtition to BuildConfiguration of knowing of the default parser
is rather strange, but a necessary evil for this.

Reviewed-By: Thorbjorn

Task-Nr: QTCREATORBUG-514
2010-07-07 18:17:24 +02:00
Tobias Hunger
8ccbd0ec6b Rename StepType to BuildStep::Type
* Move and rename the enum
 * Add Q_ENUMS macro

Reviewed-by: dt
2010-07-06 18:36:30 +02:00
con
7d76940af7 Take the right sis package when using the Smart Installer flag. 2010-05-21 14:18:37 +02:00
dt
1d43d8988a Treat a empty shadow build directory as a default shadow build directory
Task-Nr: QTCREATORBUG-1164
2010-05-19 15:32:09 +02:00
dt
61e5ce374c Make Q4ProjecConfigWidget more robust
Task-Nr: QTCREATORBUG-1108
Task-Nr: TOOLS-339
2010-04-14 14:38:10 +02:00
Tobias Hunger
c5b5127be2 Disable shadow building when appropriate
Reviewed-by: dt
2010-04-08 18:15:16 +02:00
dt
83f5901b0a Set the toolchain type on setting a different qt version
Reviewed-By: hunger
2010-04-07 13:49:51 +02:00
Tobias Hunger
d8f8ef68a0 Rework buildconfiguration setup in targets
* Allow for a more controlled setup of buildconfigurations inside
   the targets.

Reviewed-by: dt
2010-03-26 13:56:29 +01:00
Tobias Hunger
092fd7c255 Enable shadow building by default for Qt4 projects
Reviewed-by: dt
2010-03-25 16:11:25 +01:00
Tobias Hunger
1ca8cb2397 Introduce method to access the project directory
... use it.

Reviewed-by: dt
2010-03-25 14:21:43 +01:00
Friedemann Kleint
f66df7b9a6 Header cleanup in ProjectExplorer and Qt4ProjectManager 2010-03-17 17:45:33 +01:00
con
d849652700 Start on a build step for creating symbian package. 2010-03-16 19:05:20 +01:00
dt
0d4fdd291a Use a type enum instead of duplicating functions between build and clean
That is e.g. buildSteps() and cleanSteps() --> steps(type)
2010-03-16 17:45:08 +01:00
Thorbjørn Lindeijer
2a93b5401d Move build environment customization down to BuildConfiguration
The functionality was duplicated between the Qt4 and CMake build
configurations and their configuration widgets. This change moves it
down to BuildConfiguration, in addition also making it available for the
Generic Project.

Also provides an upgrade path for the configuration.

Task-number: QTCREATOR-24
Reviewed-by: dt
Reviewed-by: Tobias Hunger
2010-03-12 13:01:04 +01:00
dt
ab8fc52d0b Use exact and aysnc .pro file evaluate
This is a big change touching almost all of our .pro file parsing.
With this patch we only evaluate once exact for all needs and once
greedy for the filelist. That is the qt runconfigurations don't have own
evaluaters but reuse the project wide exact evaluation.

We reevaluate if the user changes the build directory, the qmake
buildconfiguration or the qmake arguments. That is if you open src.pro
(or projects.pro) of qt with a shadow build you still don't get all the
files, but after correcting the build directory, we reevaluate the .pro
files and find all files. So for a suitable definition of fixed, that
bug is now fixed.

We now get the exact defines of all .pro files instead of all defines for all
buildconfigurations. We still don't distinguish in which
.pro file a DEFINE is set. So the code model now knows about all the
defines set for the given configuration but not for which files it is
actually set. Also that includes all DEFINES set in .qmake.cache or the
mkspecs. This means all defines from .pro files should now work.

The intial loading is still synchronous. I haven't looked into it to
deeply, but it seems possible to make it also async.There are probably a
few issues which need to be solved fist.

Also due to the asynchronous nature of the code, the executable is
updated a few seconds after actually changing the build configuration
2010-03-10 17:02:24 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Tobias Hunger
175b43ec43 Make default Qt version alrorithmn more strict
* Add qWarnings on failures.
2010-02-19 10:51:40 +01:00
Friedemann Kleint
7c9c99dcf0 Symbian/Linux: Enable building with makefile-based system.
- Autodetect SDK by environment variable EPOCROOT and qt directory
below.
- Environment::appendOrSet/prependOrSet: Avoid duplicate entries
- Rename toolchain enumeration value
- Adapt S60ToolChainMixin to new GnuPoc setup, provide routines for
  all required variables.
- RVCTToolChain: Make RVCT detection smarter (Check for RVCT<v1><v2>BIN
  variable). Set all required variables in case of RVCTToolChain/GnuPoc
- QtVersionManager: Detect toolchain and Qt version properly, make S60
  device run config accept toolchain.
- Modify S60DeviceRunControl to execute 'make sis'
- Modify S60Devices::detectQt...() to check for Qt installed into SDK
  first and symlink as fallback.
2010-02-17 17:38:48 +01:00
Tobias Hunger
efe3ac597a Default to not shadowbuilding
when not set to true in the .user-file.
2010-02-17 17:13:23 +01:00
Tobias Hunger
563983c4b0 Remove default Qt version entry
* Remove default Qt version from list of available versions
2010-02-17 17:13:21 +01:00
dt
3c99f02bcb Rename QMake to qmake since that's the official spelling. 2010-02-17 16:54:50 +01:00
Tobias Hunger
261966dbb7 Have qmakestep trigger the import label
* Do not use the BuildManager but have the qmakestep trigger
   the update via the target and project.

Reviewed-by: dt
2010-02-16 13:18:25 +01:00
Tobias Hunger
75abcda936 Use sane Qt version on import 2010-02-10 17:01:07 +01:00
Tobias Hunger
d1bdfcc363 Integrate target support
* Ease cross device development by introducing 'targets' which
   group build- and runsettings that are valid for this one target

 Most of the kudos for the code review go to dt. Con, thorbjorn,
 ckandler and others did also review parts of this patch.

Reviewed-by: dt
2010-02-09 16:57:37 +01:00
Friedemann Kleint
81f14bb270 Fix some code scanning issues.
QString: Use QChar/char where appropriate, do not use QString::null
2010-02-02 17:09:41 +01:00
Friedemann Kleint
2fd8b2d7ff Fix some code scanning issues.
QString: Use QChar where appropriate.
2010-02-01 12:43:56 +01:00
Tobias Hunger
788b294a30 Make project use toMap/fromMap to save state
* That is what everybody else is using now.

Reviewed-by: dt
2010-02-01 12:23:14 +01:00
Tobias Hunger
f923a561c3 Make use of ProjectConfiguration in RunConfigurations
Reviewed-by: dt
2010-02-01 12:23:13 +01:00
Tobias Hunger
16a7d5daa2 Make use of ProjectConfiguration in the BuildConfigurations
* Make use of the ProjectConfiguration base class in the
   BuildConfigurations and update the factories accordingly.

Reviewed-by: dt
2010-02-01 12:23:13 +01:00
dt
fb3ae97df3 Add Build to the right click menu of sub projects for Qt4 Projects
They do what you expect them to do, that is build only a subtree.
The implementation is a little bit strange. We temporarly set the sub
node to be built on the BuildConfiguration, enqueue that
BuildConfiguration (which calls BuildStep::init()), and then reset that
temporary value.

A more general way would be to have the ability to extend
BuildConfiguration::buildProject() in a way that additional data can be
passed to the BuildSteps.

Task-Nr: QTCREATOR-5
Task-Nr: QTCREATORBUG-44
2010-01-13 18:02:22 +01:00
dt
b560e24034 Fix that changing qmake arguments did not update the import label
Task-Nr: QTCREATOR-269
2010-01-12 17:21:20 +01:00
dt
e3188417c3 Don't silently reset the qt version if it has become invalid
Instead note that it is invalid if trying to build and on the projects
mode pane.

Task-Nr: QTCREATORBUG-459
2010-01-12 15:51:11 +01:00
Tobias Hunger
592e494d1a Fix typos
Reviewed-by: thorbjorn
2010-01-11 10:26:13 +01:00
Tobias Hunger
a6ad773722 Make method naming more consistent.
* Use id() for methods returning a string used to represent
    some type of object.
  * Use displayName() for strings that are meant to be user
    visible.
  * Quieten some warnings while touching the files anyway.
  * Move Factories to their products in the plugins where that
    was not done before.

Reviewed-by: dt
2010-01-07 18:17:24 +01:00
con
a54205c3a0 Mostly remove the special define for Symbian support.
The only part that is not done if not on Windows (or explicitly
specified) is the adding of the preference pane.
2009-12-17 18:01:41 +01:00
dt
a755717649 In the EnvironmentWidget show which environment is the base.
Task-Nr: QTCREATORBUG-277
2009-12-14 13:40:17 +01:00
dt
14eb1f66e9 Remove BuildConfiguration::setValue/value 2009-12-08 17:59:21 +01:00
dt
97929c440f Ensure that the environment widget is updated correctly 2009-12-08 14:42:04 +01:00
dt
b63e6e939d Make BuildConfiguration::setValue and ::value protected 2009-12-07 15:55:41 +01:00
dt
1e46cb424e Rework connections on the project pane for Qt4Projects.
Should fix a lot of corner cases, might introduce a few bugs.
Also rename functions/slots to be better named.

Generic Project Manager and CMake Project Manager are missing from this
patch.
2009-12-07 15:00:17 +01:00
dt
429a52742c Remove function that isn't called anywhere 2009-12-07 15:00:17 +01:00
dt
aaae96a00e Remove very old importing code 2009-12-07 15:00:17 +01:00
con
f3bdeb8c9a Share the code for determining used qmake arguments.
Move the code that compares the Qt version's debug|release property
with the build configuration's debug|release property
to the new build configuration class.

Reviewed-by: dt
2009-12-02 18:16:34 +01:00
dt
d6d48fa23c Some cleanup after BuildConfiguration refactoring 2009-11-30 15:24:32 +01:00