Commit Graph

232 Commits

Author SHA1 Message Date
Oswald Buddenhagen
79be54ed8c replace env variable injection with pervasive expando support
do not inject SOURCEDIR and BUILDDIR into the environment of
build steps and run configurations any more.
instead, all custom executable paths, argument lists and working
directories now support the %{sourceDir} and %{buildDir} macros.
this approach is more elegant and more scalable.
2010-11-17 13:19:08 +01:00
Oswald Buddenhagen
1e362b0f8b overhaul process argument handling
get away from argument stringlists. instead, use native shell command
lines which support quoting/splitting, environment variable expansion
and redirections with well-understood semantics.

Task-number: QTCREATORBUG-542
Task-number: QTCREATORBUG-1564
2010-11-17 13:19:07 +01:00
Friedemann Kleint
6510a749b7 ProjectExplorer: Move ToolChainType enumeration into separate Header.
Acked-By: dt
2010-11-01 14:25:24 +01:00
dt
0bd7214e19 CMake: Set up environment for cmake correctly
Task-Nr: QTCREATORBUG-1130
2010-09-27 11:15:11 +01:00
Tobias Hunger
747f750370 Set BUILDDIR and SOURCEDIR environment variables
Set BUILDDIR and SOURCEDIR in the build environment.

Reviewed-by: dt
2010-09-23 13:40:25 +02:00
Leena Miettinen
0037296d70 Doc - Fix UI text capitalization to follow the KDE style guide.
Reviewed-by: dt
2010-09-15 10:30:51 +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
Friedemann Kleint
2a6f1df168 Fix MSVC10 compiler warnings.
Reviewed-by: dt
2010-06-21 12:05:54 +02:00
dt
15f2e4e98d Don't reset build directory for clone cmake buildconfigurations 2010-06-10 14:50:21 +02:00
Tobias Hunger
37acb3b8d1 Enable shadowbuilding by default for CMake 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
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
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Laurent Desmecht
e7936d3862 Clone build steps when cloning build configuration of cmake/generic project.
Merge-request: 117
Reviewed-by: Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>
Reviewed-by: dt
Reviewed-by: Tobias Hunger
2010-02-25 16:49:43 +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
5c651c9f2a /target/buildtarget/g in cmakeprojectmanager
This is in preparation of the addition of "targets" in the
sense of "platforms to develop for" into the codebase.

Reviewed-by: dt
2010-02-02 12:59:29 +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
Tobias Hunger
b1e1f44a8d Add method to verify existence of CMake targets
* Add a simple method to test whether a CMake target exists.

Reviewed-by: dt
2010-01-14 15:51:49 +01:00
dt
fec96d4c4a Fix cleaning of CMake projects 2010-01-08 13:54:18 +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
dt
a755717649 In the EnvironmentWidget show which environment is the base.
Task-Nr: QTCREATORBUG-277
2009-12-14 13:40:17 +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
24a4590767 Cmake: Let the generator determine the toolchain
Otherwise we need to parse the cbp file, which happens only if the
buildconfiguration gets active. Also try to decouple a few internals a
little bit by using signals. The CMakeProject still handles a few things
directly instead of via signals, more to come eventually.
2009-12-07 15:00:17 +01:00
dt
801e9948f5 Hide static cast in accessor methods 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
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