issues
search
worldsite
/
blog.sc
Blogging soul chat, stay cool. via: https://blog.sc
3
stars
0
forks
source link
C/C++编译系统与自动化
#24
Open
suhao
opened
4 years ago
suhao
commented
4 years ago
一、编译系统与编译自动化
1. 编译系统
CMake
GNU Autotool
MSBuild
Meson
QMake
KBuild
build2
xmake
Bazel
Make
2. 包管理
Conan
vcpkg
Buckaroo
QPM
cget
Hunter
Cppan
Build2
CPM
Spack
Nuget
包管理器的选择注意事项:
具有CMake集成的最成熟管理器是Conan和vcpkg
Vcpkg 的软件包数量最多,但是,无法安装同一包的多个版本或托管本地包存储库
Conan 文档记录更多,并且对包版本提供了更多控制。它具有去集中存储库,还允许用户托管本地或 Intranet 专用存储库。柯南的一个小问题是 Python 安装要求,但通过将柯南转换为单个本机可执行文件,通过将柯南 Python 模块与 Python 解释器打包为 Windows 的 Py2Exe 工具,可以快速解决此问题
包管理器的一些合理功能集
CMake 集成
默认存储库、去集中存储库和本地存储库。
交叉平台
无需调用任何外部命令即可更轻松地使用 CMake,应将要安装的包定义在 CMakelists.txt 文件中。
命令行工具
从命令行或 IDE(如 .net 的 Nuget 或 Python 的点)浏览包元数据。
与国际发展部集成
独立不依赖于任何解释器或外部依赖项,或完全挤满了解释器,便于安装和部署
一、编译系统与编译自动化
1. 编译系统
2. 包管理
包管理器的选择注意事项:
包管理器的一些合理功能集