文档章节

怎样编写Cmake的配置文件Cmakelist.txt

天蚕宝衣
 天蚕宝衣
发布于 2016/12/22 22:30
字数 324
阅读 79
收藏 0

CMake是一个编译配置工具, 它是一个跨平台c/c++ 编译配置工具。可以通过编写CMakeLists.txt配置文件,可以控制生成的Makefile或者windows下工程文件。还支持安装(make install)、测试安装的程序是否能正确执行(make test,或者ctest)、生成当前平台的安装包(make package)、生成源码包(make package_source)、产生Dashboard显示数据并上传等高级功能,只要在CMakeLists.txt中简单配置,就可以完成很多复杂的功能,包括写测试用例。

如果有嵌套目录,子目录下可以有自己的CMakeLists.txt。

所以写好CMakeLists.txt 是使用好Cmake的关键

工具/原料

  • Cmake

方法/步骤

  1. 1

    Cmake有Linux,Windows多个平台版本,如图是Windows下版本程序

    怎样编写Cmake的配置文件Cmakelist.txt

  2. 2

    更具一个简单多目录c项目,学下CMakeLists.txt编写规范

    怎样编写Cmake的配置文件Cmakelist.txt

  3. 3

    根目录下cmakelist文件内容:

    set(CMAKE_INSTALL_PREFIX):设置程序的安装目录,优先级比cmake命令参数设置高。

    add_subdirectory(编译文件子目录)

    怎样编写Cmake的配置文件Cmakelist.txt

  4. 4

    libhello目录下的CMakeLists文件内容:

    怎样编写Cmake的配置文件Cmakelist.txt

    怎样编写Cmake的配置文件Cmakelist.txt

  5. 5

    src目录下的CMakeLists文件内容:

    怎样编写Cmake的配置文件Cmakelist.txt

    怎样编写Cmake的配置文件Cmakelist.txt

  6. 6

    查看编译后结果:

    怎样编写Cmake的配置文件Cmakelist.txt

  7. 7

    安装后目录结构:

    怎样编写Cmake的配置文件Cmakelist.txt

    END

注意事项

  • 注意cmake命令参数含义

本文转载自:http://jingyan.baidu.com/article/fea4511a1c984ef7bb912592.html

天蚕宝衣
粉丝 26
博文 244
码字总数 180344
作品 0
天津
私信 提问
cmake 学习笔记(一)

最大的Qt4程序群(KDE4)采用cmake作为构建系统 Qt4的python绑定(pyside)采用了cmake作为构建系统 开源的图像处理库 opencv 采用cmake 作为构建系统 ... 看来不学习一下cmake是不行了,一点一点...

晨曦之光
2012/05/08
726
0
在 linux 下使用 CMake 构建应用程序

CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文...

红薯
2009/02/06
872
0
cmake 学习笔记(三)

接前面的 Cmake学习笔记(一) 与 Cmake学习笔记(二) 继续学习 cmake 的使用。 学习一下cmake的 finder。 finder是神马东西? 当编译一个需要使用第三方库的软件时,我们需要知道: 去哪儿找头...

晨曦之光
2012/05/08
162
0
在TX2上安装VIINS-Mono——问题总结

1 ceres-solver 我们一般通过以下命令安装Eigen: 默认安装在。 在CMakeList.txt中一般用以下语句找到Eigen: 如果有时找不到,可以替换成: 在TX2上安装ceres-solver时,出现以下错误: – ...

W_Tortoise
2018/10/25
0
0
cmake 学习笔记(二)

在 Cmake学习笔记一 中通过一串小例子简单学习了cmake 的使用方式。 这次应该简单看看语法和常用的命令了。 简单的语法 注释 命令语法 字符串列表 变量(字符串或字符串列表) set(Foo a b c) ...

晨曦之光
2012/05/08
325
0

没有更多内容

加载失败,请刷新页面

加载更多

利用mybatis generator生成实体类、Mapper接口以及对应的XML文件

项目中通常会遇到数据的持久化,如果是采用mybatis的orm,就会涉及到生成xml的问题,刚好mybatis官网提供了这么个插件MyBatis Generator,效果简直是棒呆。 1. 首先需要在build.gradle文件中...

啊哈关关
今天
2
0
SpringSocial相关的知识点

使用SprigSocial开发第三方登录 核心类 ServiceProvider(AbstractOauth2ServiceProvider):主要负责实现server提供商(例如QQ,微信等共有的东西),默认实现类是AbstractOauth2ServiceProvider...

chendom
今天
3
0
Java并发之AQS详解

一、概述   谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!   类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源...

群星纪元
昨天
3
0
Fabric-sdk-java最新教程

Fabric Java SDK是Fabric区块链官方提供的用于Java应用开发的SDK,全称为Fabric-sdk-java,网上可用资料不多,本文列出了精心整理的针对Fabric Java SDK的最新精选教程。 如果希望快速掌握F...

汇智网教程
昨天
3
0
react 子组件监听props 变化

componentWillReceiveProps //已经被废弃 getDerivedStateFromProps// 推荐使用//如果条件不存在必须要返回null static getDerivedStateFromProps(props, current_stat...

一箭落旄头
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部