CMake是一个强大的开源软件编译环境,专门为开发人员提供检查和打包代码的方法。作为一个gui应用程序,这个工具提供了一种非常简单的方法来生成配置最少的构建文件。这些功能被整齐地放置在主窗口中,所以整个过程应该相当简单。首先要做的是浏览源文件夹并确保cmakelists.txt文件存储在该目录中,否则操作将无法完成。一旦解决了这些问题,就可以指定二进制文件将被发送到的输出位置。任务的其余部分需要对配置进行一些修改,但这不应该成为一个需要担心的原因,因为它的大部分是自动化的。因此,一旦点击“configure”,cmake将继续读取源文件夹中包含的文件,以便检测项目的变量,这些变量将显示为红色。在彻底检查它们并确保每个被分配的值都是准确的之后,您可以按下“生成”按钮,并在指定的位置创建生成文件。
2、生成本地构建文件(例如,UNIX上的MaxFipe文件;MS VisualC++中的工作空间/项目)。因此,标准工具可以用于任何平台/编译器配置。
3、强大的命令包括定位文件、库、可执行文件的能力;包括封装标准功能的外部CMake文件;测试系统的接口;支持递归目录遍历与变量继承;可以运行外部程序;支持条件构建;支持正则表达式扩展等等。
4、支持就地和异地构建。从一个源树可以有多个编译树。
5、可以很容易地扩展以添加新功能。
6、cmake是开源的。
7、cmake使用设计为与图形编辑器接口的缓存进行操作。缓存提供可选的交互以有条件地控制生成过程。
其基本操作流程为:
$> ccmake directory
$> cmake directory
$> make
其中directory为CMakeList.txt所在目录;
第一条语句用于配置编译选项,如VTK_DIR目录 ,一般这一步不需要配置,直接执行第二条语句即可,但当出现错误时,这里就需要认为配置了,这一步才真正派上用场;
第二条命令用于根据CMakeLists.txt生成Makefile文件;
第三条命令用于执行Makefile文件,编译程序,生成可执行文件;
ctest:fix--show only=json-v1输出,带有必需的\u文件属性
CQuestCimuleLIDIO兼容性本地VaR生存期
cmaffinity:为alpine linux上的cpu_zero添加include
查找路径:修复旧样式空名称列表上的崩溃
fileapi:修复cmp0037旧行为的codemodel v2目标文件名
findboost:为最后一个已知版本简化条件块
FindBoost:删除不正确的1.70个定时器依赖项
findboost:为遗留变量展开兼容性接口目标
findboost:添加对boost 1.71的支持
FindBoost:阐明遗留变量在警告消息中的作用
findboost:容忍未来的boost接口库
功能特点
1、支持复杂的大型构建环境。CMake已经在几个大型项目中得到验证。2、生成本地构建文件(例如,UNIX上的MaxFipe文件;MS VisualC++中的工作空间/项目)。因此,标准工具可以用于任何平台/编译器配置。
3、强大的命令包括定位文件、库、可执行文件的能力;包括封装标准功能的外部CMake文件;测试系统的接口;支持递归目录遍历与变量继承;可以运行外部程序;支持条件构建;支持正则表达式扩展等等。
4、支持就地和异地构建。从一个源树可以有多个编译树。
5、可以很容易地扩展以添加新功能。
6、cmake是开源的。
7、cmake使用设计为与图形编辑器接口的缓存进行操作。缓存提供可选的交互以有条件地控制生成过程。
使用方法
CMake的所有的语句都写在一个叫:CMakeLists.txt的文件中。当CMakeLists.txt文件确定后,可以用ccmake命令对相关 的变量值进行配置。这个命令必须指向CMakeLists.txt所在的目录。配置完成之后,应用cmake命令生成相应的makefile(在Unix like系统下)或者 project文件(指定用window下的相应编程工具编译时)。其基本操作流程为:
$> ccmake directory
$> cmake directory
$> make
其中directory为CMakeList.txt所在目录;
第一条语句用于配置编译选项,如VTK_DIR目录 ,一般这一步不需要配置,直接执行第二条语句即可,但当出现错误时,这里就需要认为配置了,这一步才真正派上用场;
第二条命令用于根据CMakeLists.txt生成Makefile文件;
第三条命令用于执行Makefile文件,编译程序,生成可执行文件;
更新内容
Flang:实现MSVC运行时库抽象ctest:fix--show only=json-v1输出,带有必需的\u文件属性
CQuestCimuleLIDIO兼容性本地VaR生存期
cmaffinity:为alpine linux上的cpu_zero添加include
查找路径:修复旧样式空名称列表上的崩溃
fileapi:修复cmp0037旧行为的codemodel v2目标文件名
findboost:为最后一个已知版本简化条件块
FindBoost:删除不正确的1.70个定时器依赖项
findboost:为遗留变量展开兼容性接口目标
findboost:添加对boost 1.71的支持
FindBoost:阐明遗留变量在警告消息中的作用
findboost:容忍未来的boost接口库
∨ 展开