文档章节

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

天蚕宝衣
 天蚕宝衣
发布于 2016/12/22 22:30
字数 324
阅读 45
收藏 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

共有 人打赏支持
天蚕宝衣
粉丝 20
博文 239
码字总数 179054
作品 0
天津
Linux下build和使用rabbitmq-c

按照这里介绍的方法,先安装CMake 2) 在这里找到下载link,下载rabbitmq-c的包 3) 解压,进入解压后的目录 4) mkdir build && cd build # 这一步是在rabbitmq-c的根目录下创建一个build子目录...

mac_zhao
2014/09/28
0
0
cmake命令 安装、用法简介

前言: cmake是kitware公司以及一些开源开发者在开发几个工具套件(VTK)的过程中所产生的衍生品。后来经过发展,最终形成体系,在2001年成为一个独立的开放源代码项目。其官方网站是www.cmake...

烦恼的大胖
2011/05/25
0
4
Android JNI学习(二)——实战JNI之“hello world”

本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Native相互调用 Android JNI学习(四)——JNI的常用方法...

隔壁老李头
05/09
0
0
part01_Linux下使用Cmake构建工程

一、安装Cmake 1.下载cmake-3.11.1.tar.gz:https://cmake.org/download/ 2.把 cmake-3.11.1.tar.gz放到任意临时目录(Cmake默认安装在:/usr/local/中),查看其权限如果没有权限直接更改权限...

IT魔幻师
05/09
0
0
使用Cmake生成跨极速赛车平台出租平台项目编译解决方案

项目最近有需求在windows下面运行,我花了几周时间将linux的服务器移植到windows下面,目前已经能够正常运行服务器,目前又有了新需求,两边的代码结构和组织是分开的,因此为了两边能够同步...

inuuns
07/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
0
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
5
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
31
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部