前言
本系列是笔者学习velox源码的笔记,主要记录在学习velox源码时遇到的问题和解决方案。
本节是最基础也是最磨人的一节————搭建开发环境。
git clone velox
1 | git clone git@github.com:facebookincubator/velox.git |
本系列当前基于commit ac5c15eb7627b42f8d41023215d1d4a7e69d45aa
。
setup-macos.sh
1 | ./scripts/setup-macos.sh |
执行该脚本会安装velox的依赖,包括cmake
、glog
、gflags
、fmt
、folly
等。
笔者在安装时遇到了一些问题,解决方案可参考此isuue:build issue
大致来看,分别是ccache
安装失败和folly
编译失败。
use clion to open velox
本地ide使用的是clion
,打开velox的根目录即可。
本地环境主要用于debug unit test, 因此cmake参数直接参考make unitest命令得到的cmake命令即可。1
-DTREAT_WARNINGS_AS_ERRORS=1 -DENABLE_ALL_WARNINGS=1 -DVELOX_BUILD_MINIMAL="OFF" -DVELOX_BUILD_TESTING="ON" -DCMAKE_BUILD_TYPE=Debug -GNinja -DMAX_LINK_JOBS= -DMAX_HIGH_MEM_JOBS= -DVELOX_FORCE_COLORED_OUTPUT=ON
Build dir也参考make unitest命令得到的build dir,即_build/debug
。
此外,还需要额外关注环境变量INSTALL_PREFIX
,这将指定velox优先从下载的依赖项中查找库文件。1
INSTALL_PREFIX={Your-velox-code-repo}/deps-install
cmake设置大致如图:
此后,愉快地debug即可。