Re: semantic does not parse out of directory symbols
"Eric M. Ludlam" <[email protected]> Sun, 12 Oct 2014 18:29:23 -0400
| Newsgroups | gmane.emacs.semantic |
|---|---|
| Message-ID | <[email protected]> |
Hi Xaver, Are you using the default EDE project that shows up when you edit files in a project that has Automake in it? Also, is there a Makefile.am in every directory, or on at certain levels? That project type needs Makefile.am at each level to work properly. When I put it together it didn't occur to me that you might only have one toplevel Makefile.am. I also never implemented parsing of -I for purposes of finding symbols, and it doesn't have a way to configure include paths. If your include statement in main.cc was: #include "../directory-sub2/Bheader.h" that would be found, but I'm assuming you depend on include paths instead. If you are using a project type where you can can configure the include path (like cpp-root, or a generic project type) then you could just add directory-sub2 to the global include path to start finding symbols there. In looking through the old automake project type (the code in ede/project-am.el) it looks like someone added a feature where you could set `project-am-localvars-include-path' to a list of paths and it will automatically use that for your include path instead. See the very end of project-am.el. I haven't tried that, but it may work for you. You may need to set them as buffer-local in a c-mode-hook so you don't pollute other projects. If you are using a different EDE project type, then there are different ways to update your include paths. Eric On 10/11/2014 04:07 AM, Xaver Gerster wrote: > Hi, > > I cannot get semantic to parse symbols which are included from files > which reside outside of the directory where I currently work in. > > For example, say, I have an automake project with several > subdirectories, containing projects with several targets and a minimal > directory/project structure like this > > directoy-top: > Project.ede > ... > configure > AUTHORS > other files > ... > directory-sub1 > Project.ede > ... > main.cc > Aheader.h > ... > other files > ... > directory-sub2 > Bheader.h > nicelib.so > ... > other files > > Here, > main.cc includes symbols from Aheader.h > and > Aheader.h includes symbols from Bheader.h > > On the level of compilation, the latter is implemented as usual by > standard '-I ../directory-sub2' / '-L ../directory-sub2' preprocessor / > linker CPPFLAGS / LDFLAGS flags. They are contained within the *.ede > project configuration files. > > Now, when I work on main.cc or Aheader.h and do M-x > semantic-ia-fast-jump, then, semantic *will* jump to symbols which are > either from files in directory-sub1 or in system-wide include files. > > *However*, if working on Aheader.h, I want to look up a symbol which is > contained in Bheader.h I get > > semantic-ia-fast-jump: Could not find suitable jump point for xyz > > I tried various ways of setting semanticdb roots and and include paths > but I remain stuck with this error message. > > Any help would be most appreciated. > > Xaver > > > ------------------------------------------------------------------------------ > Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer > http://p.sf.net/sfu/Zoho > _______________________________________________ > cedet-semantic mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/cedet-semantic > ------------------------------------------------------------------------------ Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://p.sf.net/sfu/Zoho