CMAKE学习

官方学习资料

系统的学习还是看官方资料为好。
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的博客-优快云博客_c++ 只读函数
https://blog.youkuaiyun.com/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使用案例_青草地溪水旁的博客-优快云博客
https://blog.youkuaiyun.com/weixin_42108533/article/details/119220713

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值