Hi Eric,

Thanks for sharing links.
I will take a look at them.

Nitin.

On Wed, Sep 19, 2012 at 4:18 AM, Eric M. Ludlam <ericludlam@gmail.com> wrote:
Hi,

EDE optimizes for include paths as a way of making operations faster by not listing every include.

It also is careful in case there is more than one occurrence of a header name, you can make your paths relative to get the correct one based on file location.  Things are speediest if you have a nice optimized path.

Lastly, if you have GNU Global installed (or a few other tools, see the doc string for ede-locate-setup-options) you can run one of those tools on your project to create a database, and EDE will query your database to find include files.  I've had good luck with GNU Global for this.

If you visit cedet.sf.net there are links to some good resources, such as:

http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html

plus a few short pages listed at the top of the side-bar that would be useful.

There are also all the manuals in the doc directory.  The generic 'cedet.info' file is a good s tarting point.  There are many different target applications for CEDET, so there is no 'one way' to set things up.

Eric


On 09/17/2012 01:56 AM, Nitin Bodke wrote:
Hi Eric,

I use following snippet to arrange my Project.el files.
Ref:http://epsilonvectorplusplus.wordpress.com/2012/04/27/a-functional-introduction-to-cedet-ede/
<snip>
;; Create a Project.ede equivalent for ede-simple-project
;; by telling Emacs to load Project.el files
(defun check-for-Project-el ()
   (if (file-exists-p "Project.el")
     (load-file "Project.el")
   )
)
(add-hook 'find-file-hook 'check-for-Project-el)
<snip>

This takes care of loading Project.el when any file in the project is
opened.
My includes are scattered in directories in the project, and Makefile
INCLUDES
them during compilation.

Is there any way to tell force ede to search includes in  all the
sub-directories
of project

Can you please share the steps to setup CEDET development environment in
EMACS?
i.e. develop and debug
This will really help me in long-term.

Thanks,
Nitin.

On Sat, Sep 15, 2012 at 10:59 PM, Eric M. Ludlam <ericludlam@gmail.com
<mailto:ericludlam@gmail.com>> wrote:

    On 09/14/2012 07:31 AM, Nitin Bodke wrote:
    [...]



        My situation is a bit similar to what explained in below post:
        http://stackoverflow.com/__questions/3519965/emacs-__source-code-navigation-__features

        <http://stackoverflow.com/questions/3519965/emacs-source-code-navigation-features>
        Source is code is quite big i.e. more than 6k files, and I have
        MakeFiles in all
        folders that takes care of my build.

        My project file is similar to below lines:
        (ede-cpp-root-project "project-name"
            :directory "<project-root-directory>"
            :file "<project-root-directory>/__Project.el"

            :include-path '( "<project-root-directory>"
                              )
            )

        With this, files in the same folder are parsed successfully, and
        symbols
        are resolved.
        But cross-folder includes are not resolved and they make to the
        "unknown
        includes" list.
        ede-find-file for unresolved files results in following error:
        eieio-generic-call-primary-__only: Method ede-expand-filename

        called on nil

        Is there any solution to this?

        I believe I can better utilize this environment by
        customizing/adding
        more to it.
        How to setup development environment for CEDET? This will help
        me to address
        unresolved issues and contribute back.


    Hi Nitin, Welcome to the list.

    First, your project file containing the ede-cpp-root-project needs
    to be loaded.  If you use a system that makes Project.el load, then
    perhaps you are ok, but you probably need to add a line like this:

    (load-file "<project-root-directory>/__Project.el")


    in your .emacs to force it earlier.  Once you do that, the EDE
    project should be recognized.

    Your include path will need to contain all the subdirectories that
    have includes in the way the actual include statements are used.
      For example, if a C include says:

    #include "foo/myinclude.h"

    and the header is referenced from your project root directory (prd)
    like so:

    <prd>/foo/myinclude.h

    you will be ok, but if the 'foo' directory is in some subdir, you
    need an extra line inf your :include path of:

    "/somesubdir"

    where the leading / means start at the base of the project.

    That should get you going.

    Eric




------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/



_______________________________________________
Cedet-devel mailing list
Cedet-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel