快速编写CMakeList.txt详解参考

CMake是一个高级的跨平台编译配置工具,通过CMakeLists.txt文件控制编译过程。本文介绍了如何编写CMakeLists.txt,包括设置项目名称、配置编译器、设置交叉编译环境、添加源文件和链接库。同时,提供了实例展示如何生成可调试版本的程序,并给出了CMake常用命令和交叉编译配置的要点。
摘要由CSDN通过智能技术生成

 

  • 简介

CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。

通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程。CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install)、测试安装的程序是否能正确执行(make test,或者ctest)、生成当前平台的安装包(make package)、生成源码包(make package_source)、产生Dashboard显示数据并上传等高级功能,只要在CMakeLists.txt中简单配置,就可以完成很多复杂的功能,包括写测试用例。

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

 

 

导入已有的CMakeLists.txt编辑配置

    打开cmake程序,选择源码路径和编译路径,然后单击configure,成功会显示Configuring done在最后。

然后就可以出来下面的图像,然后选择要修改的编译项参数,

更多编译信息配置

然后单击Generate

 

 

  • 实例

//实例/

#项目名 ,这一行自动引入两个变量 HELLO_BINARY_DIR-二进制生成目录 和 HELLO_SOURCE_DIR-源码目录

PROJECT(HELLO)

 

#例如输出两个变量值,message用于输出变量值

message("HELLO_BINARY_DIR=" ${HELLO_BINARY_DIR})

message("HELLO_SOURCE_DIR=" ${HELLO_SOURCE_DIR})

 

#输出CMake过程详细信息,不是必须的

SET(CMAKE_VERBOSE_MAKEFILE on)

 

#设置cmakelinux下工作

SET(CMAKE_SYSTEM_NAME Linux)

 

#设置C语言所用编译器arm-none-linux-gnueabi-gcc

SET(CMAKE_C_COMPILER   arm-none-linux-gnueabi-gcc)

 

#设置C++语言所用编译器arm-none-linux-gnueabi-g++

SET(CMAKE_CXX_COMPILER   arm-none-linux-gnueabi-g++)

 

#还可以设置编译器参数,例如-g 打开调试 -O2 优化等级

set(CMAKE_C_FLAGS "-g -O2 ")

 

#定义编译器查找头文件和库文件目录

SET(CMAKE_FIND_ROOT_PATH "/home/share/glib/arm-2010q1/arm-none-linux-gnueabi/libc")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值