you can use something like:
(defun get-project-root-dir ()
(interactive)
(let* ((fname (or (buffer-file-name (current-buffer)) default-directory))
(current-dir (file-name-directory fname))
(prj (ede-current-project current-dir)))
(when prj
(ede-project-root-directory prj))))