Commit Graph

63 Commits

Author SHA1 Message Date
dt
9bc9fe73e1 File renaming
Reviewed-By: con
Reviewed-By: Friedemann Kleint

We now support renaming files. The version control system tries first to
rename, if that doesn't support or can't rename the file we do a normal
rename. (Note: git, hg, perforce > 2009.02 support renaming, cvs not.
(perforce untested)). We correctly notify all editors of the renamed
file and tell the project manager to rename the file in the project.

Note: Only the qt4projectmanager knows how to rename files.

Note: renaming folders, moving files to different folders, renaming
.pro/.pri files is not supported. Those things can be later added after
this has proven to work correctly in the simple case.

Also we don't do any actions based on the renaming like renaming
classes, changing include guards or #include lines.
2010-05-12 14:14:44 +02:00
Erik
3ae3e3f330 Import library target from cmake project.
Added library flag to CMakeBuildTarget struct which is set when parsing
the cbp file. This flag is then used to make sure no runconfiguration
is created for library targets.

Merge-request: 136
Reviewed-by: dt <qtc-committer@nokia.com>
2010-04-26 12:30:02 +02:00
dt
f093d0806b Cancel code model indexing on project closing and full code model update
Task-Nr: QTCREATORBUG-1151
2010-04-26 12:29:50 +02:00
dt
a3f827b1b8 Remove isApplication() and simplfy startup project logic 2010-03-25 17:36:39 +01: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
con
d6061a23e1 Refactor the externally modified file handling
Reviewed-by: dt
2010-03-22 16:01:55 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +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
3d8b6845a3 Devirtualise cmakeproject
Reviewed-by: dt
2010-02-02 12:13:26 +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
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
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
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
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
con
5f9cb8fe14 Results of review. 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
a16806353a Remove string identifier from setDisplayNameFor and setUserEnvChanges. 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
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
dt
f291b669c3 Actually watch all the project files of a CMake project.
And react to changes to one of them.
2009-09-14 16:09:17 +02:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +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
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
dt
40ff6ab2c4 Make msvc and cmake play together.
Note: This requires a cvs cmake and is not fully tested yet. This adds a
few missing pieces, so now opening new never built projects without a
.user file on systems with just one VS installation should work.
2009-07-02 16:44:51 +02:00
dt
7debdc2b75 Add all cmake files to the project tree
That is if using a cmake that outputs enough information. The necessary
patch for that was commited to cmake's cvs recently by Alexander
Neundorf.

Task-Nr: 250399
2009-06-30 17:38:27 +02:00
dt
2d65dec3e9 Add a toolChainType() method to the ApplicationRunConfiguration.
Best effort only though. This can make detection in the debugger which
engine should be used easier.

Task-Nr: 256161
2009-06-17 19:06:17 +02:00
Jason McDonald
884b7af769 Update license headers and sales contact details.
Reviewed-by: Trust Me
2009-06-17 00:01:27 +10:00
dt
0bda19a099 Add the ability to set a build environment also for CMake projects.
Note: as for qt projects, this is also used for running. And we don't
use it for running cmake yet.
2009-05-27 14:58:02 +02:00
dt
72f5be29a2 Support multiple buildconfigurations with cmake
We didn't support having different build directories.

Task-Nr: 251632
2009-05-18 18:07:52 +02:00
dt
84ee1653f4 Allow changing the build directory, and reparse.
Task:  250418

This also moves us closer to supporting multiple build configurations
properly.
2009-04-20 17:59:36 +02:00
dt
3b6d8b8f4d Add the ability to add Runconfigurations for cmake-targets we know about
Task: 250415
2009-04-06 17:01:26 +02:00
dt
0a2df32654 Pop up a dialog if the CMakeCache.txt changes.
Rerun cmake and reparse the file. Add new files to the tree, remove old
ones from th tree. Add/removing targets should also work.
2009-03-26 17:36:58 +01:00
Thorbjørn Lindeijer
78d603adec Use the make command defined by the tool chain
For now only for GenericProject, since the CMakeProject doesn't have the
right tool chain set on Windows yet.

Reviewed-by: dt
2009-03-18 14:35:35 +01:00
Thorbjørn Lindeijer
93b3dda602 Fixed member variable prefix to be in line with coding standards 2009-03-18 12:20:06 +01:00
dt
ef1693e9a3 Fixes: Add a smarter cmake open project wizard.
Details:  That fixes a few bugs, while still having a few missing
things. Don't allow the user to set a shadow build directory, if there
is already a in source build. Detect if a cbp file is already existing
and recent enough, don't rerun cmake then. Ensure that the user runs
cmake with the cbp generator on opening the project. Show the output of
the cmake generator while running. Remove the unecessary cmake step.
2009-03-09 18:13:19 +01:00
hjk
8ca887aae2 Fixes: change file license headers to include LGPL 2009-02-25 09:15:00 +01:00
dt
c6a02170b9 Fixes: Move Buildparser to the projectexplorer, use in cmakeplugin
Details:  This enables us to parse the build errors correctly.
          The makesteps of the qt4project and cmakeproject have some
          code dupliaction, which could be refactored. And the code
          to find out the correct build parser could probably also
          be done better, but we are now parsing the build output for
          cmake.
2009-02-16 13:12:12 +01:00
dt
04805e0a9e Fixes: Use the toolchain classes int the cmake plugin.
Details:  We now get the system includes and system defines.
2009-02-11 12:16:36 +01:00
dt
e8e2e4f45d Fixes: Progress to the cmake plugin
Details:  Add a dialog asking for command line options and build
directory. This dialog pops up if you don't have a .user file. Note,
though that it also pops up if there is already a in source build.
(The build directory lineedit should be read only then.)
The cmake button in that dialog and the output pane need more polish to
make them better. With those changes you can now build and run marble
from Qt Creator. (For marble you need to pass a few options to cmake.)

Also add a configuration page to the Tools/Options dialog, where you can
specify the cmake executable path.

And add a class which runs cmake in the background to find out which
version and wheter that cmake version has Qt Creator generator. (Which I
did begin to write.)
2009-01-23 16:57:38 +01:00
dt
db20c44d40 Fixes: Add a settings page to the cmake plugin.
Details:  There's a linedit on there, we restore and save the settings,
only thing missing is actually using it.
2009-01-21 16:25:21 +01:00
Thorbjørn Lindeijer
0728e78afb Reintroduced a way to edit project dependencies
Dependencies between projects can now be edited in the Projects mode.
You can simply check for each project the projects that it depends on,
and they will be built first. A message box pops up when you try to
create a circular dependency.

Could use some testing.
2009-01-16 16:44:25 +01:00