Dawn 是的代码托管仓库在这里:https://dawn.googlesource.com/dawn。 如果你网络畅通的话,可以直下载源代码进行编译。如果你网络不畅通,我之后会给大家想办法。
首先,是版本的选择,默认 Dawn 直接 git clone 下来是 main 分支,main 分支通常不是稳定分支,用起来的问题很多。 除了 main 分支之外,Dawn 项目中还有很多 chromium/ 开头的分支,这些分支都是 Dawn 针对 Chromium 的交付分支,我们应该从这里面选择。
但是 chromium/ 开头的分支也未必都是稳定分支,有些分支时交付给实验版的 Chromium 用的,我们也不能用。
那应该如何挑选呢?
你可以打开你的 Chrome 浏览器,升级到最新的一个稳定版,然后打开浏览器的关于页面。
{#fig:example width="80%"}
这里有个版本号,是 6778,我们回到 Dawn 项目,checkout 到 chromium/6778 分支上面,这个分支就是最新的稳定版。
Dawn 支持两种编译方式,一种是用 Google 内部的 gn, ninja 的那些东西。 不过,恕我直言,我至今不知道 Google 搞这么一堆莫名其妙的非标准东西是要干什么。
好在 Google 良心发现,Dawn 是支持 CMake 的。所以我们可以进入到 Dawn 的目录里面,直接使用 CMake 命令来进行编译。
首先,先进行配置:
cmake -S . -B out/Release \
-DDAWN_FETCH_DEPENDENCIES=ON \
-DDAWN_ENABLE_INSTALL=ON \
-DCMAKE_BUILD_TYPE=Release
DAWN_FETCH_DEPENDENCIES 表示自动下载需要的依赖库源码。CMake 会调用一个 Python 脚本来进行下载, 所以需要你的环境有 Python。
条件完备的话,直接调用下面的语句编译就可以了
cmake --install out/Release --prefix install/Release