CMAKE学习

2023-05-16

官方学习资料

系统的学习还是看官方资料为好。
CMake Reference Documentation — CMake 3.23.1 Documentation
https://cmake.org/cmake/help/latest/
Documentation | CMake
https://cmake.org/documentation/

CMake 3.21 中文
https://runebook.dev/zh-CN/docs/cmake/-index-

源代码例程

https://github.com/wzpan/cmake-demo.git

SFUMECJF/cmake-examples-Chinese: 快速入门CMake,通过例程学习语法。在线阅读地址:https://sfumecjf.github.io/cmake-examples-Chinese/
https://github.com/SFUMECJF/cmake-examples-Chinese

cmake · master · 十一月zz / CPP example · GitCode
https://gitcode.net/baidu_35679960/cpp-example/-/tree/master/cmake?from_codechina=yes

零散网页

CMake 入门实战 | HaHack
https://www.hahack.com/codes/cmake/

(50条消息) C++只读成员函数、只读对象_VSavitar的博客-CSDN博客_c++ 只读函数
https://blog.csdn.net/u011770174/article/details/74906811

C++工程:总结 CMake 添加第三方库依赖方式git submodule、 find_library、FetchContent、CPM等 - 简书
https://www.jianshu.com/p/f181b5bd0a63

一些常用命令

#cmake最小版本需求
cmake_minimum_required(VERSION xxx)

#设置此项目的名称
project(xxx) 

#生成可执行文件target ,后面填写的是生成此可执行文件所依赖的源文件列表。
add_executable(target target_source_codes) 

生成库文件,SHARED代表动态库,STATIC代表静态库, 最后一个参数代表此库的源文件列表
add_library(lib_name SHARED or STATIC lib_source_code) 

设置一个名字var_name 的变量,同时给此变量赋值为var_value
SET(var_name var_value)

#指定编译器
#CMAKE_C_FLAGS_DEBUG          ----  C 编译器
#CMAKE_CXX_FLAGS_DEBUG        ----  C++ 编译器
#-std=c++11  使用 C++11
#-g:只是编译器,在编译的时候,产生调试信息。
#-Wall:生成所有警告信息。一下是具体的选项,可以单独使用
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11   -g  -Wall  ")

#指定编译类型,debug 或者为 release
#debug 会生成相关调试信息,可以使用 GDB 进行
#release 不会生成调试信息。当无法进行调试时查看此处是否设置为 debug.
set(CMAKE_BUILD_TYPE Debug)

#打印消息
MESSAGE("MSG") 

#给变量var_name赋值为var_value,comment是此变量的注释,和SET 有类似的功效,用于给某变量设置默认值
option(var_name "comment" var_value) 

#添加include路径,也就是头文件路径
include_directories(xxx) 

#调用xxx子目录的CMakeLists.txt执行
add_subdirectory(xxx) 

#给编译器添加xxx参数
add_compile_options(xxx)

#给编译器添加库目录,有点儿类似-L
link_directories(xxx)

#给目标添加依赖库,有点儿类似-l(小写的L)
target_link_libraries(target_name lib_name ...)

统计的CMAKE常用指令和变量:
在这里插入图片描述

CMAKE的代码测试

【CMake 系列】(四)用 GoogleTest 测试 | 须臾之学
https://blog.xizhibei.me/2020/04/05/cmake-4-test-with-google-test/

(50条消息) cmake命令之add_test和set_tests_properties使用案例_青草地溪水旁的博客-CSDN博客
https://blog.csdn.net/weixin_42108533/article/details/119220713

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CMAKE学习 的相关文章

随机推荐

  • LaTex修改参考文献的颜色-BiBTeX-包括参考文献的序号颜色

    1 正文添加 xff1a 复制粘贴即可 xff0c 只需修改 文献1 xff0c 文献2 变成你自己的 usepackage xcolor usepackage xpatch makeatletter def changeBibColor
  • 自动化领域(控制领域)主要期刊汇总整理(SCI和EI)

    目录 IEEE旗下 Elsevier旗下 Springer旗下 Taylor amp Francis Online Wiley Online Library 国内期刊 IEEE旗下 IEEE Transactions on Automati
  • PCL点云分割算法及其测试代码-分割平面

    目录 nbsp 1 平台 2 PCD文件读取 3 算法 4 测试代码及注释 5 测试结果 1 平台 PCL1 8 0 VS2015 Win10 具体配置可以参照链接
  • 点云PCL入门基础

    目录 点云对象的声明 转换关系 示例 输入输出保存点云数据 点云对象的声明 pcl PointCloud lt pcl PointXYZ gt cloud 点云对象 pcl PointCloud lt pcl PointXYZ gt Ptr
  • 源自中国顶级开源软件再下一城!向量数据库公司Zilliz完成6000万美元B+轮融资

    中国开源届再次迎来一个好消息 xff01 北京时间 8 月 25 日 xff0c 向量数据库公司 Zilliz 宣布完成 6000 万美元的新 笔融资 xff0c 成功将其 B 轮融资规模进 步扩 1 03 亿美元 该笔融资由沙特阿美 xf
  • 耗散性、无源性、正实性

    耗散性和作为其特例的无源性概念广泛存在于物理学 应用数学以及力学等领域 研究耗散性和无源性理论的主要出发点在于他们运用基于能量多输入输出描述给出了控制系统分析和设计的新框架 xff0c 对系统控制的诸多方面都起到了很大的推动作用 不仅在控制
  • python学习笔记之tkinter中的label

    from tkinter import longtext 61 39 39 39 多行 文本 39 39 39 master 61 Tk master title 34 label学习 34 w0 61 Label master text
  • python做数据拟合

    项目中有涉及趋势预测的工作 xff0c 整理一下这3种拟合方法 xff1a 1 线性拟合 使用math import math def linefit x y N 61 float len x sx sy sxx syy sxy 61 0
  • 关于VS编译的程序内存分配只能用1.5~2G上限的优化方案

    关于VS编译的程序 内存分配只能用1 5 2G上限的优化方案 遇到的问题是这样的 xff1a 电脑内存32G xff0c VS2012编译的一个程序 xff0c 在程序运行过程中 xff0c 一旦程序的内存使用达到1 5G xff0c 就会
  • 对称矩阵及正定性

    对称阵是非常重要的矩阵 xff0c 对于实对称矩阵 xff0c 其特征值也为实数 xff0c 且特征向量是垂直的 注意这里的垂直是指 xff1a 如果特征值互不相同 xff0c 那么每个特征值对应的特征向量是在一条线上 xff0c 那些线之
  • C++变量前面加下划线的含义

    参考C 43 43 变量前面加下划线的含义 云 43 社区 腾讯云 C 43 43 变量前面加下划线和不加下划线都不会影响对变量的定义 xff0c 只是风格问题 xff0c 更喜欢将成员变量或者私有成员变量的前面加上下划线 以表示该变量是某
  • 对PX4参数THR_MDL_FAC的理解

    对参数THR MDL FAC的理解 home wp src PX Firmware src lib mixer module mixer module hpp 这里引入了参数THR MDL FAC的使用 DEFINE PARAMETERS
  • TX2安装ubuntu18,ROS

    设备 TX2 8G版本 ubuntu18 04笔记本一台 重要提示 请看完全文再安装 xff01 本文不是手把手教你安装类型教程 给TX2刷系统 看看我的参考博客1吧 最好参考最新的博客 xff0c 现在官网的新版本都不是这样 JetPac
  • px4的PWM是如何输出的

    如果有io芯片 xff0c 且使用了io作为输出PWM的设备 则fmu将mixer传输给io xff0c io进行混控计算并输出PWM xff0c 将pwm结果传递回fmu xff0c 此时无app订阅acuator outpus xff0
  • PX4的mix文件是怎么被使用的呢?

    启动 怎么到启动这里的就不说了 2 作为MIXER FILE被mixer load的 src systemcmds mixer mixer cpp实现mixer load Mixer load调用函数 xff1a load const ch
  • 诚迈科技发布OpenHarmony发行版鸿诚志远HongZOS

    2022年11月3日 xff0c 诚迈科技在东莞松山湖举办 鸿雁于飞 至诚志远 开源鸿蒙 诚迈科技HongZOS发布会 xff0c 发布基于OpenHarmony的商业发行版鸿诚志远 xff08 HongZOS xff09 xff0c 并推
  • PX4阅读开发小技巧

    1 基操 本文件搜索 全局搜索 后退 前进 ctrl 43 p xff0c 搜索文件名 右键 xff0c 书签功能 ctrl 43 单击 F12 xff0c 转到定义 大纲视图 vscode的Open Folder插件搜索文件夹名 2 利用
  • 一种基于接触性检查的全方位空中操作平台

    这里写自定义目录标题 摘要简介相关工作系统描述控制架构A 系统模型B 外部力估计C Interaction Control Selective Impedance 交互作用控制 xff1a 选择性阻抗D Surface Normal and
  • PX4的代码测试

    PX4的代码测试 写完代码总要测试一下吧 xff0c 自己先测试一下 xff0c 怎么用Test呢 xff1f 官方关于测试的概括说明 xff1a Platform Testing and Continuous Integration PX
  • CMAKE学习

    官方学习资料 系统的学习还是看官方资料为好 CMake Reference Documentation CMake 3 23 1 Documentation https cmake org cmake help latest Documen