Function: ede-build-forms-menu
ede-build-forms-menu is a byte-compiled function defined in ede.el.gz.
Signature
(ede-build-forms-menu MENU-DEF)
Documentation
Create a sub menu for building different parts of an EDE system.
Argument MENU-DEF is the menu definition to use.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/ede.el.gz
(defun ede-build-forms-menu (_menu-def)
"Create a sub menu for building different parts of an EDE system.
Argument MENU-DEF is the menu definition to use."
(easy-menu-filter-return
(easy-menu-create-menu
"Build Forms"
(let ((obj (ede-current-project))
(newmenu nil) ;'([ "Build Selected..." ede-compile-selected t ]))
targets
targitems
ede-obj
(tskip nil))
(if (not obj)
nil
(setq targets (when (slot-boundp obj 'targets)
(oref obj targets))
ede-obj (if (listp ede-object) ede-object (list ede-object)))
;; First, collect the build items from the project
(setq newmenu (append newmenu (ede-menu-items-build obj t)))
;; Second, declare the current target menu items
(if (and ede-obj (ede-menu-obj-of-class-p 'ede-target))
(while ede-obj
(setq newmenu (append newmenu
(ede-menu-items-build (car ede-obj) t))
tskip (car ede-obj)
ede-obj (cdr ede-obj))))
;; Third, by name, enable builds for other local targets
(while targets
(unless (eq tskip (car targets))
(setq targitems (ede-menu-items-build (car targets) nil))
(setq newmenu
(append newmenu
(if (= 1 (length targitems))
targitems
(cons (ede-name (car targets))
targitems))))
)
(setq targets (cdr targets)))
;; Fourth, build sub projects.
;; -- nerp
;; Fifth, add make distribution
(append newmenu (list [ "Make distribution" ede-make-dist t ]))
)))))