网站首页 > 博客文章 正文
CMake是一个开源、跨平台的工具系列,用于构建、测试和打包软件。该应用程序用于使用简单的平台和编译器独立的配置文件来控制软件编译过程,并生成可在您选择的编译器环境中使用的本地makefile和工作区。这套工具是由Kitware创建的,以响应开源项目(如ITK和VTK)对强大的跨平台构建环境的需求。
CMake 64位是一个可扩展的开源系统,它以独立于编译器的方式在操作系统中管理构建过程。与许多跨平台系统不同,它被设计为与本地构建环境结合使用。放置在每个源目录中的简单配置文件(称为CMakeLists.txt文件)用于生成标准构建文件(例如,Unix上的makefile文件和Windows MSVC中的项目/工作区),这些文件以通常的方式使用。它可以生成一个本机构建环境,该环境将编译源代码、创建库、生成包装器,并以任意组合构建可执行文件。
它支持就地和非就地构建,因此可以支持来自单个源代码树的多个构建。它还支持静态和动态库构建。该应用程序的另一个不错的功能是,它生成一个缓存文件,旨在与图形编辑器一起使用。例如,当CMake运行时,它定位文件、库和可执行文件,并可能遇到可选的构建指令。这些信息被收集到缓存中,用户可以在生成本机构建文件之前更改缓存。
CMake旨在支持复杂的目录层次结构和依赖于多个库的应用程序。例如,它支持由多个工具包(即库)组成的项目,其中每个工具包可能包含几个目录,并且应用程序依赖于工具包和附加代码。它还可以处理必须构建可执行文件以生成随后编译并链接到最终应用程序的代码的情况。由于该应用程序是开源的,并且具有简单的可扩展设计,因此可以根据需要进行扩展以支持新功能。
特色及亮点
支持复杂的大型构建环境。它已经在几个大型项目中得到了验证。
生成本地构建文件(例如,Unix上的makefiles;工作空间/项目在MS Visual c++)。因此,标准工具可以在任何平台/编译器配置中使用。
具有强大的命令包括定位包括文件,库,可执行文件的能力;包括封装标准功能的外部CMake文件;测试系统接口;支持变量继承的递归目录遍历;可以运行外部程序;支持条件构建;支持正则表达式扩展;等等......
支持就地和非就地构建。单个源代码树可以生成多个编译树。
它可以很容易地扩展以添加新功能。
它与设计为与图形编辑器接口的缓存一起操作。缓存提供可选的交互,以有条件地控制构建过程。
如果您正在寻找Cmake(64位)替代品,我们建议您下载Apache Maven或Gradle。
猜你喜欢
- 2024-10-12 FLAC 1.4相隔近十年发布新版 包含AArch64优化及更快的x86_64 FMA
- 2024-10-12 Qt6重磅更新:新版本的Qt 6 将通过包管理器提供附加库
- 2024-10-12 Centos7.4 如何使用cmake编译安装mysql
- 2024-10-12 CMake中find_path / find_library对于cache变量的选择
- 2024-10-12 热更新再牛,也少不了Android 增量更新
- 2024-10-12 C/C++开发工具CLion V2022.1正式发布——增强了远程开发
- 2024-10-12 「Linux」Makefile以及cmake(linux make makefile)
- 2024-10-12 CentOS8下YUM升级gcc(centos8 gcc版本)
- 2024-10-12 基于MSYS2的MINGW64 GCC和CMake在Win下VSCode里搭建SDL2开发环境
- 2024-10-12 cmake 的兄弟:xmake应用(cmake mdk)
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)