Fwd: Help getting semantic to work with qt5

"tenspd137 ." <[email protected]> Wed, 16 Dec 2015 00:28:07 -0700
Newsgroups gmane.emacs.cedet
Message-ID <CAB=m8wLAojzniEkAXFck6yzYOgPBAhMo9d8ULfSKPBCRjCD_vA@mail.gmail.com>
Hi all,

I am forwarding this as well.  I am having a hard time configuring
semantic, but I think I am following the guides correctly.

Thanks for any help!




---------- Forwarded message ----------
From: tenspd137 . <[email protected]>
Date: Wed, Dec 16, 2015 at 12:15 AM
Subject: Help getting semantic to work with qt5
To: "[email protected]"
<[email protected]>


Hi all -

I can't seem to get semantic to parse qt5 classes.

In my setup, I have

;; CEDET
;; use external CEDET because bundled currently excludes
;; cedet-m3-minor-mode
(setq cedet-root-path (file-name-as-directory "~/projects/cedet/"))
(load-file (concat cedet-root-path "cedet-devel-load.el"))
(add-to-list 'load-path (concat cedet-root-path "contrib"))

(require 'cc-mode)
(require 'semantic)
(require 'eassist)
(require 'semantic/ia)
(require 'semantic/bovine/gcc)

;; submodes to enable
(add-to-list 'semantic-default-submodes 'global-semantic-mru-bookmark-mode)
(add-to-list 'semantic-default-submodes 'global-semanticdb-minor-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-scheduler-mode)
(add-to-list 'semantic-default-submodes 'global-cedet-m3-minor-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-stickyfunc-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-highlight-func-mode)
(add-to-list 'semantic-default-submodes 'global-semanticdb-minor-mode)

;; activate semantic
(semantic-mode 1)

...

;; mode customization
(defun dayd/cedet-hook()
  (local-set-key [(control return)] 'semantic-ia-complete-symbol-menu)
  (local-set-key "\C-c?" 'semantic-ia-complete-symbol)
  ;;
  (local-set-key "\C-c>" 'semantic-complete-analyze-inline)
  (local-set-key "\C-c=" 'semantic-decoration-include-visit)

  (local-set-key "\C-cj" 'semantic-ia-fast-jump)
  (local-set-key "\C-cq" 'semantic-ia-show-doc)
  (local-set-key "\C-cs" 'semantic-ia-show-summary)
  (local-set-key "\C-cp" 'semantic-analyze-proto-impl-toggle)
)

(add-hook 'c-mode-common-hook 'dayd/cedet-hook)
(add-hook 'lisp-mode-hook 'dayd/cedet-hook)
(add-hook 'emacs-lisp-mode-hook 'dayd/cedet-hook)

(setq QtDir "/usr/include/qt5/")

;; EDE
(global-ede-mode 1)
(ede-enable-generic-projects)

(ede-cpp-root-project "QtXPS"
                      :name "QtXPS File Viewer"
                      :file "~/projects/Qt5/QtXPS/README"
                      :include-path '("/")
                      )

(semantic-add-system-include (concat QtDir "/QtConcurrent")        'c++-mode)
(semantic-add-system-include (concat QtDir "/QtCore")            'c++-mode)
(semantic-add-system-include (concat QtDir "/QtDBus")            'c++-mode)
(semantic-add-system-include (concat QtDir "/QtGui")            'c++-mode)
(semantic-add-system-include (concat QtDir "/QtLocation")        'c++-mode)
(semantic-add-system-include (concat QtDir "/QtNetwork")        'c++-mode)
(semantic-add-system-include (concat QtDir "/QtOpenGL")        'c++-mode)
(semantic-add-system-include (concat QtDir "/QtPlatformSupport")    'c++-mode)
(semantic-add-system-include (concat QtDir "/QtPrintSupport")        'c++-mode)
(semantic-add-system-include (concat QtDir "/QtQml")            'c++-mode)
(semantic-add-system-include (concat QtDir "/QtQmlDevTools")        'c++-mode)
(semantic-add-system-include (concat QtDir "/QtQuick")            'c++-mode)
(semantic-add-system-include (concat QtDir "/QtQuickParticles")    'c++-mode)
(semantic-add-system-include (concat QtDir "/QtQuickTest")        'c++-mode)
(semantic-add-system-include (concat QtDir "/QtSensors")        'c++-mode)
(semantic-add-system-include (concat QtDir "/QtSql")            'c++-mode)
(semantic-add-system-include (concat QtDir "/QtTest")            'c++-mode)
(semantic-add-system-include (concat QtDir "/QtWebKit")        'c++-mode)
(semantic-add-system-include (concat QtDir "/QtWebKitWidgets")        'c++-mode)
(semantic-add-system-include (concat QtDir "/QtWidgets")        'c++-mode)
(semantic-add-system-include (concat QtDir "/QtXml")            'c++-mode)
(semantic-add-system-include (concat QtDir "/QtXmlPatterns")        'c++-mode)


(I have also tried adding to the project system include path using:
;;Qt5 Setup
(defun gather-qt-header-dirs()
   (let ((qtf (directory-files "/usr/include/qt5")))
     (mapcar (lambda (framework) (concat "/usr/include/qt5/" framework)) qtf)))
)

Anyway, when I have this in my main file:

#include <QtGui/QGuiApplication>
#include "MainWindow.hpp"

int main(int argc, char* argv[])
{
    QGuiApplication app(argc, argv);
    app.
 }

and try to do completion on the app object, it tells me it can't find
types, but it works on the types I have defined in my project.


As I have asked in other posts before, can anyone help me figure out
what I am doing wrong?  I have been trying all sorts of different
things I have found using google, and nothing seems to work.


Thanks!

------------------------------------------------------------------------------