catchall编译器包装器

canker的Python项目详细描述


溃疡病

CI

canker是一个包罗万象的编译工具包装器。在

使用

$ pip3 install canker
$ eval$(canker-env --guess-wrapped)
$ exportCANKER_ACTIONS="Record"
$ exportCANKER_ACTION_RECORD="output=/tmp/demo.jsonl"
$ cd /your/project && make
$ cat /tmp/demo.jsonl

目标

  • 包装CCCXXCPPLD、和{}。在
  • 为上面的每一个,执行前和执行后提供一个访问者风格的API。在
  • 提供了一组不错的默认操作。在
  • 尽可能做到无创。在

反目标

  • 使用LD_PRELOAD来捕获构建系统中的每个exec, 一个拉Bear。在
  • 支持cl.exe。在
  • 对非C/C++语言的详细支持。在

提供新的行动

新的溃疡行动很容易写。例如,下面的命令在每ld之前打印一条消息 调用:

^{pr2}$
# src/canker/actions/__init__.py# bring PrintLD into canker.actions so that `CANKER_ACTIONS` can find itfromprintldimportPrintLD# noqa: F401
$ eval$(canker-env --guess-wrapped)
$ exportCANKER_ACTIONS="PrintLD"
$ make

查看溃疡病API documentation了解更多细节, 包括可用动作的种类。在

名字?在

我的手机自动更正了“CMake”到“canker”一次。在

Canker与cancer同源,这对构建系统和工具都是合适的 这种仪器可以构建系统(就像canker那样)。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java wait()是“if”块或“while”块   java Jenkins在通过jenkinscli创建作业时失败。罐子   数组从文本输入创建Java树   java碰撞检测仅在对象正好击中中心时起作用   java在执行selenium web驱动程序脚本并对其进行验证时调用子JSP页面   javajson与jackson的动态反序列化   javascript将包含情感的字符串传输到服务器   重写子类型Kotlin/Java中的函数类型   java了解如何使用不安全的   java中的selenium Exception(org.openqa.selenium.remote.UnreachableBrowserException)   java如何使用Spring将HttpSession放入Aspect类中?   java从枚举获取信息   java RungeKutta NBody实现不起作用   java如果使用单独的utils类的静态方法添加Firebase事件侦听器,如何删除它们?