ede-project
Inheritance Tree:
eieio-speedbar
eieio-speedbar-directory-button
ede-project-placeholder
ede-project
Children:
See ede-cpp-root-project, ede-emacs-project, ede-linux-project, ede-maven-project, See ede-simple-project, See ede-simple-base-project, See ede-proj-project, See project-am-makefile, See ede-step-project.
Slots:
:targets
Type: list
List of top level targets in this project.
:tool-cache
Type: list
List of tool cache configurations in this project. This allows any tool to create, manage, and persist project-specific settings.
:web-site-url
Type: string
URL to this projects web site. This is a URL to be sent to a web site for documentation.
`:web-site-directory
`
A directory where web pages can be found by Emacs. For remote locations use a path compatible with ange-ftp. You can also use TRAMP for use with rcp & scp.
`:web-site-file
`
A file which contains the website for this project. This file can be relative to slot web-site-directory. This can be a local file, use ange-ftp or TRAMP.
:ftp-site
Type: string
FTP site where this project’s distribution can be found. This FTP site should be in Emacs form, as needed by ange-ftp, but can also be of a form used by TRAMP for use with scp, or rcp.
:ftp-upload-site
Type: string
FTP Site to upload new distributions to. This FTP site should be in Emacs form as needed by ange-ftp. If this slot is nil, then use ftp-site instead.
:configurations
Type: list
Default Value: ("debug" "release")
List of available configuration types. Individual target/project types can form associations between a configuration, and target specific elements such as build variables.
`:configuration-default
`
Default Value: "debug"
The default configuration.
`:local-variables
`
Default Value: nil
Project local variables
8.7.2.1 Specialized Methods
Method: ede-preprocessor-map :AFTER this
Get the pre-processor map for project THIS.
Method: ede-subproject-relative-path :AFTER proj &optional parent-in
Get a path name for PROJ which is relative to the parent project. If PARENT is specified, then be relative to the PARENT project. Specifying PARENT is useful for sub-sub projects relative to the root project.
Method: eieio-speedbar-description :AFTER obj
Provide a speedbar description for OBJ.
Method: ede-map-any-target-p :AFTER this proc
For project THIS, map PROC to all targets and return if any non-nil. Return the first non-nil value returned by PROC.
Method: ede-map-subprojects :AFTER this proc
For object THIS, execute PROC on all direct subprojects. This function does not apply PROC to sub-sub projects. See also ede-map-all-subprojects.
Method: ede-convert-path :AFTER this path
Convert path in a standard way for a given project. Default to making it project relative. Argument THIS is the project to convert PATH to.
Method: ede-name :AFTER this
Return a short-name for THIS project file. Do this by extracting the lowest directory name.
Method: ede-set-project-variables :AFTER project &optional buffer
Set variables local to PROJECT in BUFFER.
Method: eieio-speedbar-derive-line-path :AFTER obj &optional depth
Return the path to OBJ. Optional DEPTH is the depth we start at.
Method: ede-map-all-subprojects :AFTER this allproc
For object THIS, execute PROC on THIS and all subprojects. This function also applies PROC to sub-sub projects. See also ede-map-subprojects.
Method: project-update-version :AFTER ot
The :version of the project OT has been updated. Handle saving, or other detail.
Method: ede-buffer-header-file :AFTER this buffer
Return nil, projects don’t have header files.
Method: ede-buffer-documentation-files :AFTER this buffer
Return all documentation in project THIS based on BUFFER.
Method: ede-map-targets :AFTER this proc
For object THIS, execute PROC on all targets.
Method: ede-buffer-mine :AFTER this buffer
Return non-nil if object THIS lays claim to the file in BUFFER.
Method: ede-object-keybindings :BEFORE this
Retrieves the slot keybindings from an object of class ede-project
Method: ede-description :AFTER this
Return a description suitable for the minibuffer about THIS.
Method: eieio-speedbar-object-children :AFTER this
Return the list of speedbar display children for THIS.
Method: project-make-dist :AFTER this
Build a distribution for the project based on THIS project.
Method: ede-system-include-path :AFTER this
Get the system include path used by project THIS.
Method: project-new-target-custom :AFTER proj
Create a new target. It is up to the project PROJ to get the name.
Method: ede-subproject-p :AFTER proj
Return non-nil if PROJ is a sub project.
Method: ede-expand-filename :AFTER this filename &optional force
Return a fully qualified file name based on project THIS. FILENAME should be just a filename which occurs in a directory controlled by this project. Optional argument FORCE forces the default filename to be provided even if it doesn’t exist.
Method: ede-menu-items-build :AFTER obj &optional current
Return a list of menu items for building project OBJ. If optional argument CURRENT is non-nil, return sub-menu code.
Method: ede-update-version-in-source :AFTER this version
Change occurrences of a version string in sources. In project THIS, cycle over all targets to give them a chance to set their sources to VERSION.
Method: project-new-target :AFTER proj &rest args
Create a new target. It is up to the project PROJ to get the name.
Method: project-compile-project :AFTER obj &optional command
Compile the entire current project OBJ. Argument COMMAND is the command to use when compiling.
Method: eieio-speedbar-object-buttonname :AFTER object
Return a string to use as a speedbar button for OBJECT.
Method: ede-map-project-buffers :AFTER this proc
For THIS, execute PROC on all buffers belonging to THIS.
Method: ede-expand-filename-impl :AFTER this filename &optional force
Return a fully qualified file name based on project THIS. FILENAME should be just a filename which occurs in a directory controlled by this project. Optional argument FORCE forces the default filename to be provided even if it doesn’t exist.
Method: eieio-done-customizing :AFTER proj
Call this when a user finishes customizing PROJ.
Method: ede-html-documentation :AFTER this
Return a list of HTML files provided by project THIS.
Method: ede-documentation :AFTER this
Return a list of files that provides documentation. Documentation is not for object THIS, but is provided by THIS for other files in the project.
Method: project-interactive-select-target :AFTER this prompt
Interactively query for a target that exists in project THIS. Argument PROMPT is the prompt to use when querying the user for a target.
Method: ede-target-in-project-p :AFTER proj target
Is PROJ the parent of TARGET? If TARGET belongs to a subproject, return that project file.
Method: ede-find-target :AFTER proj buffer
Fetch the target in PROJ belonging to BUFFER or nil.
Method: ede-add-subproject :AFTER proj-a proj-b
Add into PROJ-A, the subproject PROJ-B.
Method: ede-commit-project :AFTER proj
Commit any change to PROJ to its file.
Method: project-dist-files :AFTER this
Return a list of files that constitutes a distribution of THIS project.
Method: ede-object-menu :BEFORE this
Retrieves the slot menu from an object of class ede-project
Method: ede-commit-local-variables :AFTER proj
Commit change to local variables in PROJ.