step0、参考
step1、安装依赖
所有时 | Terminal + Shell + GNU CoreUtils |
下载时 | cURL |
解压时 | tar + gzip |
编译时 | cmake、ninja、gcc / GCC | Clang / LLVM |
运行时 | glibc ( libc.so 、ld-linux-x86-64.so ) |
step2、使用curl命令下载libevent
源码包 ()
curl -LO https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
step3、使用tar解压libevent
源码包
tar vxf libevent-2.1.12-stable.tar.gz
step4、进入libevent-2.1.12-stable
目录
cd libevent-2.1.12-stable
step5、查看libevent-2.1.12-stable
目录的内容
step6、使用cmake命令配置编译参数
cmake [option]... -D<变量>=<值> -S <sourceDIR> -B <buildDIR>
本软件特有的变量 | 类型 | 默认值 | 说明 |
---|---|---|---|
EVENT__DISABLE_DEBUG_MODE | BOOL | OFF | 调试选项。 OFF 相当于CPPFLAGS += "-DDENUG" ON 相当于CPPFLAGS += "-DNDENUG" |
EVENT__DISABLE_TESTS | BOOL | OFF | 是否做单元测试 |
EVENT__DISABLE_REGRESS | BOOL | OFF | 是否做回归测试 |
EVENT__DISABLE_BENCHMARK | BOOL | OFF | 是否做基准测试 |
EVENT__DISABLE_SAMPLES | BOOL | OFF | 是否编译示例代码 |
EVENT__DISABLE_OPENSSL | BOOL | OFF | 是否使用OpenSSL |
EVENT__DOXYGEN | BOOL | OFF | 是否使用Doxygen生成文档 |
EVENT__COVERAGE | BOOL | OFF | 是否做测试覆盖率统计 |
EVENT__LIBRARY_TYPE | STRING | 取值为: SHARED | STATIC | BOTH 生成 动态库 还是静态库 | |
PKG_CONFIG_EXECUTABLE | FILEPATH | 设置pkg-config命令 | |
OPENSSL_INCLUDE_DIR | PATH | 设置OpenSSL头文件的搜索路径 | |
OPENSSL_SSL_LIBRARY | FILEPATH | 设置libssl.{a | so | dylib}的路径 | |
OPENSSL_CRYPTO_LIBRARY | FILEPATH | 设置libcrypto.{a | so | dylib}的路径 | |
ZLIB_INCLUDE_DIR | PATH | 设置zlib头文件的搜索路径 | |
ZLIB_LIBRARY | FILEPATH | 设置libz.{a | so | dylib}的路径 |
示例:
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-G Ninja \
-Wno-dev \
-S . \
-B build.d
step7、使用cmake命令进行编译
cmake --build build.d
step8、使用cmake命令进行安装
cmake --install build.d