Commit Graph

176 Commits

Author SHA1 Message Date
dt
a3f827b1b8 Remove isApplication() and simplfy startup project logic 2010-03-25 17:36:39 +01:00
con
d6061a23e1 Refactor the externally modified file handling
Reviewed-by: dt
2010-03-22 16:01:55 +01:00
Thorbjørn Lindeijer
c0b42868b0 Preserve the user-set build directory for Generic Projects
Previously it would be converted to an absolute path. Preserving the
original path allows it to be set as relative to the project.

Reviewed-by: dt
2010-03-15 16:27:39 +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
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Thorbjørn Lindeijer
5c715fa11f Some small code style fixes 2010-02-25 16:49:43 +01:00
Laurent Desmecht
5f9e4c7e0d Allow modification of the configuration name in GenericBuildSettingsWidget
Merge-request: 117
Reviewed-by: Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>
2010-02-25 16:49:43 +01:00
Thorbjørn Lindeijer
3c1142d7d7 Expand environment variables in Generic Project file lists
Environment variables will now be expanded in the Generic Project file
and include path lists. They have to be written like $$(VARIABLE), like
in qmake .pro files.

Task-number: QTCREATORBUG-366
2010-02-11 16:46:30 +01:00
Thorbjørn Lindeijer
83a5aced2f Some cleanup of GenericProject
Unused stuff.
2010-02-10 18:32:49 +01:00
Thorbjørn Lindeijer
5ed4437ee8 Preserve the original paths of the generic project file list
Don't mess up the original structure of the generic project file list by
reconverting all the paths to be relative from the project directory.
This allows whitespace or absolute paths to be preserved even when
adding/removing files through Qt Creator.
2010-02-10 18:32:49 +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
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
4ee223d45d Add a id() method to projects
* This makes it easier to distinguish projects in the
   userfileaccessor
2010-02-01 12:23:14 +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
Tobias Hunger
ec025c6dbf Rework Build Parser handling
* Rework IBuildParser:
    * Remove name() method.
    * Remove enterDirectory and leaveDirectory signals.
    * Allow chaining of parsers.
 * Rename IBuildParser to IOutputParser.
 * Implement GnuMakeParser.
    * Remove entering/leaving directory related code from all other parsers
    * Move filename fixup heuristic based on entering/leaving directory
      massages from gnumake here from AbstractMakeStep.
 * Add outputParser method to ToolChain: This removes the need to map
   toolchains to BuildParser names in the BuildSteps.
 * Enhance AbstractProcessStep to accept a IOutputParser to parse its output.
 * Remove AbstractMakeStep.
 * Set the appropriate Parsers in all classes deriving from AbstractProcessStep
   and append the ToolChain's parser to the parser chain.
 * Remove BuildParserFactories: There is no more need for them.
 * Remove constants used to identify the BuildParsers.
 * Clean up some names:
    * Replace stdOut with stdOutput.
    * Replace addToTaskWindow with addTask and addToOutputWindow with
      addOutput. Do this wherever it is not yet clear that this will end up
      in the Task/Output window.

Reviewed-by: dt
2009-12-09 18:39:03 +01:00
dt
14eb1f66e9 Remove BuildConfiguration::setValue/value 2009-12-08 17:59:21 +01:00
dt
b63e6e939d Make BuildConfiguration::setValue and ::value protected 2009-12-07 15:55:41 +01:00
dt
a741261f10 Fist set the display name then addBuildConfiguration on clone 2009-11-30 15:24:33 +01:00
dt
d6d48fa23c Some cleanup after BuildConfiguration refactoring 2009-11-30 15:24:32 +01:00
dt
a312206306 Move most of the BuildConfiguration specific functions
Note: I didn't fix all the connects and there are a few missing things.
This compiles, more work is coming.
2009-11-30 15:24:31 +01:00
dt
7904544b84 Remove BuildConfiguration::name()
The pointers can be used to distinguish BuildConfigurations
2009-11-30 15:24:31 +01:00
dt
60a1ee12ba Remove project() from BuildStep
The project() should in most cases not matter, instead the
BuildConfiguration should. This shows all the information that needs to
move into the BuildConfiguration classes.
2009-11-30 15:24:31 +01:00
dt
20214787d1 Add BuildConfiguration::restore and BuildConfiguration::project()
More API work.
2009-11-30 15:24:31 +01:00
dt
ae633c1956 Add BuildConfiguration classes
Each project has it's own BuildConfiguarion * classes, they'll get a
decent type safe interface and the setValue/value stuff will be removed.
2009-11-30 15:24:31 +01:00
dt
0d162be22f Make BuildSteps one instance per BuildConfiguration
Enables users to change which buildsteps get run per buildconfiguration.
Some further tweaks are probably necessary. This is a rather big
change, though it should work. :)
2009-11-19 16:36:48 +01:00
dt
cfc7040ede The qtversions's toolchain now depends on the actual compiler not mkspec
That is we actually parse the mkspec and evaluate QMAKE_CXX (and a few
other variables) to figure out the correct mkspec. This makes using
custom mkspecs easier and is also cleaner. I also changed mkspec() and
mkspecPath() to behave a little diffrent, essentialy mkspec() will
return only the name (the actual dir name) of the mkspec. That is in
general not sufficient for passing on to qmake. mkspecPath() only
returns the correct path to mkspecs/default.
Hopefully I haven't broken WinCE/Maemo/MinGW.
2009-10-22 14:39:00 +02:00
Friedemann Kleint
5948e284bb Rename namespace Core::Utils into Utils
Also move Designer::Internal::FormWindowEditor ->
Designer::FormWindowEditor.
2009-10-05 11:06:05 +02:00
Friedemann Kleint
c5633d0840 Warning/Compile 2009-10-01 14:56:29 +02:00
dt
0d8628a228 Missing return value. 2009-10-01 14:41:28 +02:00
con
9a0fb3431f Make it possible again to create new build config for generic projects 2009-10-01 10:05:06 +02:00
con
92b905a6f2 Build configuration factory now adds configurations directly.
It's easier this way for the unique naming.
2009-10-01 10:05:06 +02:00
con
382750c8a3 Remove Project::(set)Value(buildconfig, ...) methods.
Instead use the BuildConfiguration class methods directly.
2009-10-01 10:05:06 +02:00
con
acbd4513e3 Changing string based api to BuildConfiguration based api.
Builds, but I'm pretty sure it doesn't *work* :)
2009-10-01 10:05:05 +02:00
Friedemann Kleint
ad294f8467 Project explorer: Make public headers compile with NO_CAST_FROM_ASCII
.. and purge unneeded includes.
2009-09-29 11:39:55 +02:00
dt
fba7d76936 Canceling the wizard for a new cmake build configuration still created.
Made virtual newBuildConfiguration return a bool
2009-09-23 15:00:02 +02:00
Thorbjørn Lindeijer
a5b22b18bd Fixed problem with changing tool chain type for generic projects
Some fixes were needed after the tool chain type was changed from
QString to an enum.

Task-number: 259939
2009-08-25 09:51:16 +02:00
dt
ffe74d4447 Fix slot connections in the generic project manager. 2009-08-18 13:54:41 +02:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +02:00
Daniel Molkentin
365560c9c3 Identify tool chains via ToolChain::ToolChainType enum instead of by string
Reviewed-by: dt
2009-08-13 16:42:44 +02:00
dt
dbe5a6f34b Rework the project settings.
This has still a few missing things, but this enough to start getting
some feedback. Missing are non qt projects, a solution for the
runconfiguration, a missing black line between the treeview on top and
the project settings at the bottom. Some flickering with removing/adding
widgets to the QScrollArea and not showing the expanded widget if the
Details button is right at the bottom.
2009-08-06 15:31:32 +02:00
Friedemann Kleint
61123092ab Fixed compiler/lupdate/uic warnings.
Add missing Q_OBJECTS where tr() was used.
2009-07-29 09:11:37 +02:00
con
579fe76f66 Fix layout of generic projects' build settings. 2009-07-23 17:23:26 +02:00
dt
e524f52477 Allow restoreSettings() to fail,
E.g. cmake pops up a wizard then, the running of cmake can fail though.
Now you don't end i[ with a empty project then. The error reporting in
that case is not yet optimal.
2009-07-03 16:46:01 +02:00
Thorbjørn Lindeijer
ca1dd20036 Made sure the order of the file list is maintained when removing files
Converting to a QSet and back randomizes the order of the files. Just
doing a linear scan and a QSet for speading up the contains() check
should be enough and maintains the order.
2009-06-30 15:08:39 +02:00
Kevin Michel
b170e3ba87 Enable 'Remove file...' on Generic project
Merge-request: 783
Reviewed-by: Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>
2009-06-30 15:08:38 +02:00
Thorbjørn Lindeijer
b210943b0a Fixed a problem with adding files when final newline is missing
When there was no final newline in the .files file, the name of the
first new file would get appended to the name of the last file. This
patch fixes that by simply rewriting the whole file.

Also switched to writing out native line endings.
2009-06-29 18:46:33 +02:00
Kevin Michel
375d81166c Allow adding files in generic project
Merge-request: 736
Reviewed-by: Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>
2009-06-29 18:04:29 +02:00
con
07187e0a80 Custom signature support.
Not able to give it an additional passphrase yet, though.
2009-06-24 13:41:48 +02:00
Jason McDonald
884b7af769 Update license headers and sales contact details.
Reviewed-by: Trust Me
2009-06-17 00:01:27 +10:00
Thorbjørn Lindeijer
5d11453c1d Fixed relative include paths specified for the generic project
We forgot to convert them to absolute. Also removed two calls to
removeDuplicates, since the convertToAbsoluteFiles already does that.

Reviewed-by: Roberto Raggi
2009-06-09 17:21:27 +02:00