瑞士军刀汇编数据库
compdb的Python项目详细描述
Introduction
compdb是操作编译数据库的命令行工具。 编译数据库是用于编译选项的数据库, 它有记录,其中编译选项用于在项目中生成文件。 编译数据库的一个例子是JSON Compilation Database
compdb旨在使您更容易在代码库上运行工具 通过勺子给你正确的编译选项。
compdb与生成初始编译数据库无关, 这留给其他工具,如cmake和ninja。 它只是初始编译数据库和工具之间的粘合剂。
Motivation
随着基于宗族的工具的扩散, 显然,编译选项 不再对编译器唯一有用。
独立工具,如clang-tidy 或者集成了libclang的文本编辑器必须处理编译选项。
处理编译数据库的此类工具的示例如下: irony-mode,rtags和ycmd。
根据这些证据,compdb复活了。 一种了解编译选项并可以共享它的工具 同时通知文本编辑器并从shell运行基于clang的工具。
Getting started
Installation
使用pip:
安装pip install compdb
来自GitHub,用户:
pip install --user git+https://github.com/Sarcasm/compdb.git#egg=compdb
Generate a compilation database with header files
假设生成目录build/,包含compile_commands.json, 一个新的编译数据库,包含头文件, 可使用以下命令生成:
compdb -p build/ list > compile_commands.json
Running the tests
要运行测试,请键入:
python -m tests
或:
tox --skip-missing-interpreters
对于一些开源项目的回归测试:
cd tests/regression/headerdb make [all|help]
License
这个项目是由麻省理工学院授权的。 有关详细信息,请参见license.txt。
Acknowledgments
- repo:对于它无处不在的命令行接口, 作为一种灵感
- scan-build:用于清晰的python包设计
- git:对于git-configapi
- julio.meroh.net:关于CLI design