build cmake for current host

step0、参考

step1、安装依赖

所有时Terminal + Shell + GNU CoreUtils
下载时cURL
解压时tar + gzip
编译时cmakeninja、 ( gcc + g++ ) / GCC | Clang / LLVM
运行时
  • glibc ( libc.solibpthread.sold-linux-x86-64.so )
  • GCC ( libstdc++.solibgcc_s.so )

step2、使用curl命令下载cmake源码包 (

curl -LO https://github.com/Kitware/CMake/releases/download/v3.14.3/cmake-3.14.3.tar.gz

step3、使用tar解压cmake源码包

tar vxf cmake-3.14.3.tar.gz

step4、进入cmake-3.14.3目录

cd cmake-3.14.3

step5、查看cmake-3.14.3目录的内容

step6、使用cmake命令配置编译参数

cmake [option]... -D<变量>=<值> -S <sourceDIR> -B <buildDIR>
本软件特有的变量类型默认值说明
CMAKE_USE_SYSTEM_ZLIBBOOLOFF
ON  使用系统中安装的zlib
OFF  使用本软件内置的zlib
CMAKE_USE_SYSTEM_ZSTDBOOLOFF
ON  使用系统中安装的zstd
OFF  使用本软件内置的zstd
CMAKE_USE_SYSTEM_BZIP2BOOLOFF
ON  使用系统中安装的bzip2
OFF  使用本软件内置的bzip2
CMAKE_USE_SYSTEM_LIBLZMABOOLOFF
ON  使用系统中安装的xz
OFF  使用本软件内置的xz
CMAKE_USE_SYSTEM_LIBARCHIVEBOOLOFF
ON  使用系统中安装的libarchive
OFF  使用本软件内置的libarchive
CMAKE_USE_SYSTEM_LIBUVBOOLOFF
ON  使用系统中安装的libuv
OFF  使用本软件内置的libuv
CMAKE_USE_SYSTEM_EXPATBOOLOFF
ON  使用系统中安装的expat
OFF  使用本软件内置的expat
CMAKE_USE_SYSTEM_FORMBOOLOFF
ON  使用系统中安装的libform.{a | so | dylib}
OFF  使用本软件内置的libform.{a | so | dylib}
CMAKE_USE_SYSTEM_JSONCPPBOOLOFF
ON  使用系统中安装的jsoncpp
OFF  使用本软件内置的jsoncpp
CMAKE_USE_SYSTEM_LIBRHASHBOOLOFF
ON  使用系统中安装的rhash
OFF  使用本软件内置的rhash
CMAKE_USE_SYSTEM_CURLBOOLOFF
ON  使用系统中安装的curl
OFF  使用本软件内置的curl
CMAKE_USE_SYSTEM_NGHTTP2BOOLOFF
ON  使用系统中安装的nghttp2
OFF  使用本软件内置的nghttp2

示例:

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