2 个不稳定版本
0.11.0 | 2024年2月21日 |
---|---|
0.10.0 | 2024年1月16日 |
#284 in 性能分析
每月 22 次下载
用于 tracy-gizmos
1MB
25K SLoC
🧰 tracy-gizmos-sys
概述
我们维护了 Tracy 公共部分的副本,因此我们可以将其构建为静态库,并且基于其公共头文件生成低级绑定。
我们使用 git-subtree
来完成这项工作,而不是子模块或手动复制。将来可能需要重新审视这一点,因为本地检出和1个复制命令可能更简单。
绑定
绑定是通过 bindgen
生成的,并作为 src/
部分提交。它允许快速构建此 crate,而无需 LLVM(bindgen 需要 libclang 来完成其工作)。
当 tracy/
更新时,应重新生成绑定
$ cargo clean && cargo build -F bindgen
初始设置
只需从 git 仓库根目录执行以下操作
# adding tracy remote and checking out its master in a staging branch
$ git remote add -f tracy-upstream [email protected]:wolfpld/tracy.git
$ git checkout -b staging-tracy tracy-upstream/master
# split off a subdirectory 'public' from its master into a separate branch
$ git subtree split --squash -P public --annotate="Tracy: " --rejoin -b tracy-public
# checkout our main and add 'public' parts above to our 'sys/tracy'
$ git checkout main
$ git subtree add -P sys/tracy --squash tracy-public
如何更新
只需从 git 仓库根目录执行以下操作
# switch back to the tracy's master and update it
$ git checkout staging-tracy
$ git pull tracy-upstream master
# update the subdirectory branch with changes received above
$ git subtree split -P public --annotate="Tracy: " --rejoin -b tracy-public
# checkout our main and merge new 'public' parts to update our 'sys/tracy'
$ git subtree merge -P sys/tracy --squash tracy-public
许可证
许可协议为以下之一:
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
您可选择。
请注意,此 crate 使用并嵌入的 Tracy 公共部分许可协议为 3-clause BSD 许可证。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交以包含在作品中的任何贡献,都应如上双许可,而无需任何附加条款或条件。