importing a project

Andreas Pakulat apaku at gmx.de
Sun Jan 7 03:44:49 GMT 2007


On 06.01.07 17:32:39, datax wrote:
> Andreas Pakulat wrote:
> >> Perhaps someone could help me understand how cross compilation notions are 
> >> used within KDevelop.
> >>     
> >
> > KDevelop doesn't need this cross-compilation stuff, it only parses C/C++
> > Code and that is totally independent of the target architecture.
> >
> Dear Andreas:
> 
> The decision has been made to keep this computer in sync with the 
> distribution, which is fedora core 6 and the latest set of all packages 
> is installed, including KDevelop.

Understandable.

> Perhaps you could help me understand what goes on in parsing a project, 
> that is, does the parser start with the Makefile and follow it through 
> to sub-make files? What are the other considerations in KDevelop parsing 
> a project and where can it go awry?

Basically it works like this: The .kdevelop file is read, it tell
KDevelop (among other things) which project manager should be used. Then
the project manager will open the project by reading the build-system
files it understands. For Automake this would be the Makefile.am's, for
QMake its the .pro files and for Custom Makefiles it just reads the
.kdevelop.filelist. 

After the project is opened KDevelop creates the C++ parser and asks the
project manager for all files that belong to the project (each project
manager uses different logic to compute these of course). This filelist
is fed to the C++ parser, which parses every file and creates some data
structures from it. These help for code-completion and error reporting.

And it is this C++ parser that might get stuck on certain uncommon code.
If you use custom makefile project its really easy to avoid parsing the
files, when importing the project just say no if kdevelop asks you if it
should populate the project from the existing files.

For other project managers I'm afraid there's no way to avoid C++ parsing.

Andreas

-- 
You'll feel much better once you've given up hope.




More information about the KDevelop mailing list