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,
The easiest way to get the index for all of your files:
* Select the indexer option 'index source files not included in the build', and
* Add the external folder as a linked folder to your project.

You can also create a prebuilt index. If you have done so you need to create a plugin
that provides the prebuilt index via an extension point. This is described under the section
'Import of index content' in the help document you referred to.

Markus.


> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx 
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Nayna Jain
> Sent: Montag, 11. Oktober 2010 12:50
> To: CDT General developers list.
> Cc: CDT General developers list.; cdt-dev-bounces@xxxxxxxxxxx
> Subject: Re: [cdt-dev] How to reuse the index .pdom file 
> generated using GeneratePDOM application
> Importance: Low
> 
> 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.c
> dt.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
> 
> 
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> 


Back to the top