16

I want to commit my CDT project to SVN. I am a newbie regarding CDT, and I'd like to know the files describing the project.

The concerned files seem to be :

.project .settings (directory) .cproject .csettings (directory)

What are the purposes of .project and .settings ?

.project just include references to XML files stored in the .csettings directory. Some of my co-workers on other projects don't have this .csettings directory : everything is in the .cproject file. Are there some project properties which could make Eclipse delegates all the CDT settings in XLM files in the .csettings directory ?

And what about .csettings ?

Extra question : what is the .directory ?

Jost
  • 5,948
  • 8
  • 42
  • 72
Oodini
  • 1,092
  • 6
  • 11
  • 22

3 Answers3

25

.project is where Eclipse starts whenever it opens up the project: it tells the workbench what plugins are needed.

.cproject contains the settings specific to the CDT: your project's choice of build configurations, toolchains, individual tools and so on.

.settings can be used by individual plug-ins to store their own project-level preferences.

I've never come across .csettings...

crazyscot
  • 11,819
  • 2
  • 39
  • 40
11

.CPROJECT: This will contain all the settings provided for the particular selected Toolchain. For example, if the project needs to be created with gcc, then this .cproject file will contain all the compiler, linker options used by gcc.

Also if any boot-able files located within the project needs to be excluded that too will be specified here. In general it acts as a make to your project.

.PROJECT: Eclipse uses inbuild make file for linking the object files. This .project file will contain all the builder information (managebuilder).

.SETTINGS: This will contain the debugging information's for the selected toolchain. Like how the "COMPILER\ASSEMBLER\LINKER" includes are separated, eg., by means of ";" like that.

ernesto
  • 1,899
  • 4
  • 26
  • 39
sathish
  • 239
  • 1
  • 3
  • 7
2

Every eclipse project has a .project file, general project settings (like the name of the project) go here

The .cproject file is where the CDT project specific settings go.

I'm not sure what the .settings and .csettings directories are for. Probably for project specific settings that can't be added to the .project and .cproject files.

On unix files (and directories are just a special type of file in unix) that begin with a . are hidden files.

Glen
  • 21,816
  • 3
  • 61
  • 76
  • .cproject is, as written above, only a list of pointers to the XML contained in the .csettinsg directory. I don't understand why there are two levels tod escribe the project : .project on one side, and .cprojet/.csettings on the other side. .settings remais a mystery... – Oodini Feb 12 '10 at 13:44
  • By the way, the .project seems to contain mainly info about the building settings. – Oodini Feb 12 '10 at 13:48
  • Oodini where did you get your CDT from? .csettings was an experimental feature I added to try to split the 'large' .cproject up into smaller pieces. For official CDT releases, you should see a single .cproject only... – James Blackburn Apr 23 '10 at 21:32