Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] How to reuse the index .pdom file generated using GeneratePDOM application

Hi,

Yes.. as you said that works for us for the file which gets build.

This is happening for our code that after first build when the scanner
discovery is done , then it includes the external headers. Open Declaration
works fine for the file which is built and thus indexed.

I will make it more clear with an example.

Assume, I have  the directory structure and files in external path as .

/external/path/basecode/src/comp1/file1.C
/external/path/basecode/src/comp1/file1.H
/external/path/basecode/src/comp1/file2.C
/external/path/basecode/src/comp1/file2.H
/external/path/basecode/src/comp1/makefile
/external/path/basecode/src/comp2/file3.H
/external/path/basecode/src/comp2/file3.C
/external/path/basecode/src/comp2/file4.H
/external/path/basecode/src/comp2/file4.C

And the files in the workspace where I created the project.

/workspace/project1/src/comp1/file1.C
/workspace/project1/src/comp1/file2.C
/workspace/project1/src/comp1/makefile

Now.. in the above case, I have created a project "project1" in which I had
copied only files "file1.C" and "file2.C".
So, now initially the indexer features like Open Declaration doesn't work.
then if I do a single edit on file1.C and then save and build it. It does
the build, scanning and parsing of the build console output to identify the
headers it is referring. So, now indexer works but only for file1.C .
Assuming that file1.C was referring only to file1.H.
For file2.C it still doesn't work . and also for comp2 files it still
doesn't work.

I wanted a mechanism so that the indexing functionalities and thus the
features like Open Declaration work for all the files both in workspace
project and in external path basecode.
So, as you mentioned either I will have to make the build done for the
complete base code. And that too it will build all the files only if they
are changed. So, that seems to be like not a possible case.
That's why I was looking for a different option where I can generate an
index for the base code either programmatically or other way and save it in
base code. Later on when I create the project I can import that index such
that all the functionalites like Open Declaration works for the all the
files.  Moreover, the basecode is actually very big in size with many
number of files.
So, my requirements are :-

1. Ability to make the indexing work for the files in the workspace without
need of first doing the build.
2. Ability to make the indexing and thus all the features like Open
Declaration work for all the files in the basecode and external path
3. Ability to share this index with other users.

Since I had read about GeneratePDOM application and its purpose in the link
-
http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.cdt.doc.isv/guide/dom/index/prebuiltIndexes.html

I gave it a try. But I don't know how to import it in the project to apply.
Or does that has to be done programmatically. Not sure also if this link
serves the purpose which I want so please let me know.

I have also heard about TeamIndexes but couldn't find much about it.

So, please let me know what might be the best way to get this work.

Thanks & Regards,
Nayna Jain



From:	Tomasz Wesołowski <kosashi@xxxxxxxxx>
To:	"CDT General developers list." <cdt-dev@xxxxxxxxxxx>
Date:	11/10/2010 01:02
Subject:	Re: [cdt-dev] How to reuse the index .pdom file generated using
            GeneratePDOM application
Sent by:	cdt-dev-bounces@xxxxxxxxxxx



Hello,

While I'm not answering your question now, I believe there's a simpler
approach to your problem. The external headers should get indexed if:

a) they are included by a source file in the project, and
b) they are in the project's include paths.

I'm assuming you're using an external build system (like Make) as opposed
to CDT's managed build. The correct include paths are then usually
discovered automagically after a build (from console output) regardless of
your build tool. You might want to make sure that "C++ Build / Discovery
Options / Automate discovery of paths and symbols" is checked in your
project properties.

Does F3 (go to declaration) work on a symbol from your external headers?

Hope that helps a bit.

Rerards,
-- Tomasz Wesolowski_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev




Back to the top