summaryrefslogtreecommitdiff
path: root/lisp/cedet/ede/cpp-root.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/cedet/ede/cpp-root.el')
-rw-r--r--lisp/cedet/ede/cpp-root.el27
1 files changed, 27 insertions, 0 deletions
diff --git a/lisp/cedet/ede/cpp-root.el b/lisp/cedet/ede/cpp-root.el
index cae4d090a39..5ef3323cfd5 100644
--- a/lisp/cedet/ede/cpp-root.el
+++ b/lisp/cedet/ede/cpp-root.el
@@ -237,6 +237,18 @@ ROOTPROJ is nil, since there is only one project."
;; Snoop through our master list.
(ede-cpp-root-file-existing dir))
+;;;###autoload
+(add-to-list 'ede-project-class-files
+ (ede-project-autoload "cpp-root"
+ :name "CPP ROOT"
+ :file 'ede-cpp-root
+ :proj-file 'ede-cpp-root-project-file-for-dir
+ :proj-root 'ede-cpp-root-project-root
+ :load-type 'ede-cpp-root-load
+ :class-sym 'ede-cpp-root
+ :new-p nil)
+ t)
+
;;; CLASSES
;;
;; EDE sets up projects with two kinds of objects.
@@ -504,6 +516,21 @@ Also set up the lexical preprocessor map."
"Get the pre-processor map for project THIS."
(ede-preprocessor-map (ede-target-parent this)))
+;;; Quick Hack
+(defun ede-create-lots-of-projects-under-dir (dir projfile &rest attributes)
+ "Create a bunch of projects under directory DIR.
+PROJFILE is a file name sans directory that indicates a subdirectory
+is a project directory.
+Generic ATTRIBUTES, such as :include-path can be added.
+Note: This needs some work."
+ (let ((files (directory-files dir t)))
+ (dolist (F files)
+ (if (file-exists-p (expand-file-name projfile F))
+ `(ede-cpp-root-project (file-name-nondirectory F)
+ :name (file-name-nondirectory F)
+ :file (expand-file-name projfile F)
+ attributes)))))
+
(provide 'ede/cpp-root)
;; Local variables: