8.7.3 ede-cpp-root-project

Inheritance Tree:
eieio-speedbar
eieio-speedbar-directory-button
ede-project-placeholder

See ede-project-placeholder.

ede-project

See ede-project.

ede-cpp-root-project

No children

This class implements the ede-cpp-root project type. See ede-cpp-root, for information about using this project type.

Slots:
:include-path

Type: list
Default Value: ("/include" "../include/")

The default locate function expands filenames within a project. If a header file (.h, .hh, etc.) name is expanded, and the :locate-fcn slot is nil, then the include path is checked first, and other directories are ignored. For very large projects, this optimization can save a lot of time.

Directory names in the path can be relative to the current buffer’s default-directory (not starting with a /). Directories that are relative to the project’s root should start with a /, such as "/include", meaning the directory include off the project root directory.

:system-include-path

Type: list
Default Value: nil

The system include path for files in this project. C files initialized in an ede-cpp-root-project have their semantic system include path set to this value. If this is nil, then the semantic path is not modified.

:spp-table

Type: list
Default Value: nil

C Preprocessor macros for your files. Preprocessor symbols will be used while parsing your files. These macros might be passed in through the command line compiler, or are critical symbols derived from header files. Providing header files macro values through this slot improves accuracy and performance. Use :spp-files to use these files directly.

:spp-files

Type: list
Default Value: nil

C header file with Preprocessor macros for your files. The PreProcessor symbols appearing in these files will be used while parsing files in this project. See semantic-lex-c-preprocessor-symbol-map for more on how this works.

:header-match-regexp

Type: string
Default Value: "\\.\\(h\\(h\\|xx\\|pp\\|\\+\\+\\)?\\|H\\)$\\|\\<\\w+$"

Regexp used to identify C/C++ header files.

:locate-fcn

Type: (or null function)
Default Value: nil

The locate function can be used in place of ede-expand-filename so you can quickly customize your custom target to use specialized local routines instead of the EDE routines. The function symbol must take two arguments: NAME - The name of the file to find. DIR - The directory root for this cpp-root project.

It should return the fully qualified file name passed in from NAME. If that file does not exist, it should return nil.

8.7.3.1 Specialized Methods

Method: initialize-instance :AFTER this &rest fields

Make sure the :file is fully expanded.

Method: ede-preprocessor-map :AFTER this

Get the pre-processor map for project this.

Method: ede-cpp-root-header-file-p :AFTER proj name

Non-nil if in proj the filename name is a header.

Method: ede-system-include-path :AFTER this

Get the system include path used by project this.

Method: ede-expand-filename-impl :AFTER proj name

Within this project proj, find the file name. This knows details about or source tree.