Chromium 项目的适配器库
编译
2526 版本
automate-git.py
主要的自动编译脚本,控制编译流程。
通过--dry-run
参数可以检查编译过程。
1.更新
必须指定代码目录 --download-dir=[path]
。
默认会先更新编译工具和依赖,再更新 CEF 和 chromium 代码。
可以用--no-update --no-depot-tools-update --no-chromium-update --no-cef-update
跳过更新。
2.检出代码
通过--branch=[branch] --checkout=[branch]
选择CEF版本。
检出代码后会自动应用 CEF 中的 patch 修改 chromium 代码。
3.依赖项同步
手动操作
1. 工具准备
先获取 Google 专用工具 depot_tools。
https://chromium.googlesource.com/chromium/tools/depot_tools.git
运行gclient
获取专用 git 和 python。
2. 代码同步和迁出
初次获取代码使用 fetch [chromium_dir]
命令。
之后可以用gclient sync
命令继续同步。
使用gclient sync runhook
保证后续工作。
这里可以使用DEPOT_TOOLS_WIN_TOOLCHAIN = 0
使用本地 VS。
3. 创建工程
gn gen
创建工程
4. 编译
ninja -v -C out\Debug_GN_x86 cefclient
编译参数:
is_debug。这个选项值可以为true或者false。当为true时编译debug版本,false时编译release版本。
is_component_build。这个选项值可以为true或者false。当为true时将chromium代码编译成多个小的dll,false时代码编译成单个dll。一般我们编译debug版本时,设置is_component_build = true,这样每次改动编译链接花费的时间就会减少很多。编译release版本时,设置is_component_build = false,这样就可以把所有代码编译到一个dll里面。
target_cpu。这个选项值为字符串,控制我们编译出的程序所匹配的cpu。编译32位x86版本设置成target_cpu =”x86″,编译64位x64版本设置成target_cpu =”x64″。如果我们没有显式指定target_cpu的值,那么target_cpu的值为编译它的电脑所用的cpu类型。通常target_cpu的值为x86会比x64编译速度更快,并且支持增量编译。另外如果设置了target_cpu =”x86″,也必须设置enable_nacl = false,否则编译速度会慢很多。
enable_nacl。这个选项值可以为true或者false。控制是否启用Native Client,通常我们并不需要。所以把其值设置成enable_nacl = false。 remove_webcore_debug_symbols。这个选项值可以为true或者false。控制编译生成blink调试符号中是否去掉源代码信息。如果值为true,优点是加快编译速度,缺点是不能源代码级调试blink相关代码。 is_clang。这个选项值可以为true或者false。控制是否启用clang进行编译。目前m63 clang编译还不稳定,所以这个选项设置成is_clang = false。m64开始支持clang编译。
ffmpeg_branding=”Chrome” proprietary_codecs=true。这个两个选项是控制代码编译支持的多媒体格式跟chrome一样,支持mp4等格式。 symbol_level。其值为整数。当值为0时,不生成调试符号,可以加快代码编译链接速度。当值为1时,生成的调试符号中不包含源代码信息,无法进行源代码级调试,但是可以加快代码编译链接速度。当值为2时,生成完整的调试符号,编译链接时间比较长。
is_official_build。这个选项值可以为true或者false。控制是否启用official编译模式。official编译模式会进行代码编译优化,非常耗时。仅发布的时候设置成is_official_build = true开启优化。
use_jumbo_build 。这个选项值可以为true或者false。控制是否启用试验性的jumbo编译。jumbo会显著提高代码编译的速度。目前已经完成了blink内核的jumob化,编译时间减少到了之前的1/10。
[项目托管]https://bitbucket.org/chromiumembedded/ [预编译包下载]http://opensource.spotify.com/cefbuilds/index.html [增加媒体支持]https://www.cnblogs.com/caibirdy1985/p/7244961.htmlhttps://blog.csdn.net/xiezhongyuan07/article/details/84861617