CMAKE API - создание AST из корневого CMakeFile - PullRequest
2 голосов
/ 30 сентября 2011

Я увлекаюсь идеей создания некоторых инструментов для анализа кода.Все мои интересные проекты сейчас используют cmake и clang ++.

Для начала мне нужно заполучить CMake AST для определенного проекта.По сути, я хочу сделать следующее (psuedocode):

CMakeAst & project_ast = CMakeAstBuild("/path/to/the/root/directory/of/a/project");

Из AST я извлеку цели, настроенные (по умолчанию) ключи компилятора (, (по умолчанию) # DEFINE, пути включения и т. Д.. Вся эта информация потребуется для libClang для создания точного AST для целей, определенных в моем анализируемом проекте.

Так что libclang - это чистый документированный интерфейс для clang. Теперь мне нужна информация для CMake Couldкто-то направит меня к созданию моей собственной основной программы, производящей CMake AST. Любая информация приветствуется.

C-main и соответствующие ключи компиляции в виде MakeFile сделают мой день: D

Редактировать: My Progress (cmake 2.8.5)

cmakemain.cxx содержит метод main и устанавливает контекст для основного движка, который выглядит как класс cmake, которыйсодержится в cmake.h. cmake.h с хорошей документацией.

Похоже, что инструменты сборки создают монолитные исполняемые инструменты, промежуточная библиотека не создается. bit messy: /.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...