Hello, I'm writing my first plugin for Qt Creator to integrate PC Lint check into projects. In order to provide Lint with required information I get active project information this way:
1. CppTools::CppModelManager* modelManager = CppTools::CppModelManager:: instance(); 2. Project* project=SessionManager::startupProject(); 3. CppTools::ProjectInfo info=modelManager->projectInfo(project); 4. CppTools::ProjectPart::HeaderPaths includePath=info.headerPaths(); 5. QByteArray <http://qt-project.org/doc/qt-4.8/qbytearray.html> defs= info.defines(); 6. const QSet<QString> sourceFiles=info.sourceFiles(); The problem is that if I have conditions in qmake .pro file and some sources and include paths are added only for special configuration, I still get all source files from ProjectInfo, but include paths only for active configuration. Consequently Lint cannot resolve some includes and stops with error. Example application.pro: 1. HEADERS += main/file1.h 2. CONFIG(with_smth) { 3. HEADERS += dynamic/file2.h 4. } 5. SOURCES += main/file1.cpp 6. CONFIG(with_smth) { 7. SOURCES += dynamic/file2.cpp 8. } 9. INCLUDEPATH += main 10. CONFIG(with_smth) { 11. INCLUDEPATH += dynamic 12. } In such case even if with_smth is not defined I have file1.cpp and file2.cpp as sources, but only ./main as include path and file2.h/cpp cannot be resolved. Is there another way to get project information (active sources and include paths) from Qt Creator internals? -- Regards Roman
_______________________________________________ Qt-creator mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/qt-creator
