导读 | CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。 |
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 3.27.5 现已发布,一些亮点更新内容如下:
- cmGeneratorTarget:支持独立于配置的 Fortran 源查询
- cmComputeLinkInformation:计算使用模块的目标的链接信息
- FortranCInterface:转发 CMAKE_OSX_DEPLOYMENT_TARGET
- cxxmodules:检测并发送有关未编译源的消息
- Source:在任何 Linux 架构上需要时链接 libatomic
- Help:从关联变量初始化 MSVC_DEBUG_INFORMATION_FORMAT
- FindBoost:添加对 Boost 1.83 的支持
- Autogen:有效评估 INTERFACE_AUTOMOC_MACRO_NAMES
- VS:避免 OBJECT 库不必要的 CUDA 设备链接
- ctest:在提交步骤期间恢复对 http 重定向的支持
详情可查看发布公告。