build libevent for current host

step0、参考

step1、安装依赖

所有时Terminal + Shell + GNU CoreUtils
下载时cURL
解压时tar + gzip
编译时cmakeninjagcc / GCC | Clang / LLVM
运行时glibc ( libc.sold-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_MODEBOOLOFF
调试选项。
OFF相当于CPPFLAGS += "-DDENUG"
ON 相当于CPPFLAGS += "-DNDENUG"
EVENT__DISABLE_TESTSBOOLOFF是否做单元测试
EVENT__DISABLE_REGRESSBOOLOFF是否做回归测试
EVENT__DISABLE_BENCHMARKBOOLOFF是否做基准测试
EVENT__DISABLE_SAMPLESBOOLOFF是否编译示例代码
EVENT__DISABLE_OPENSSLBOOLOFF是否使用OpenSSL
EVENT__DOXYGENBOOLOFF是否使用Doxygen生成文档
EVENT__COVERAGEBOOLOFF是否做测试覆盖率统计
EVENT__LIBRARY_TYPESTRING
取值为:SHARED | STATIC | BOTH
生成动态库还是静态库
PKG_CONFIG_EXECUTABLEFILEPATH设置pkg-config命令
OPENSSL_INCLUDE_DIRPATH设置OpenSSL头文件的搜索路径
OPENSSL_SSL_LIBRARYFILEPATH设置libssl.{a | so | dylib}的路径
OPENSSL_CRYPTO_LIBRARYFILEPATH设置libcrypto.{a | so | dylib}的路径
ZLIB_INCLUDE_DIRPATH设置zlib头文件的搜索路径
ZLIB_LIBRARYFILEPATH设置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