CMake 学习笔记

一直想了解CMake,但是不知从何入门。最近看了CMake 官方的Tutorial,感觉的确很适合入门。

首先要安装CMake, 安装步骤:

  1. 直接去下载最新版Download | CMake
  2. macos 点开CMake 后,遵循"How to Install For Command Line Use" 菜单项,使得cmake在 terminal可用

接下来直接按照Tutorial 的目录来阅读Tutorial 即可。

其中每一章节都会告诉你要学哪些东西,基本每条命令都有超链接链到该条命令的说明文档,先阅读说明文档,大致了解后,根据Todo 列表,依次在CMakeLists.txt里面写好本章所要求的项目,完成CMake build。即可学会当前章节内容。

这里记录一些命令:

复制代码
 check_cxx_source_compiles

常见的开源软件里检测某些函数是否存在应该就是使用这条命令。如:

bash 复制代码
 check_cxx_source_compiles("
    #include <cmath>
    int main() {
      std::log(1.0);
      return 0;
    }
    " HAVE_LOG)

cmake 就会尝试编译双引号内的代码,如果能编译成功,就会定义HAVE_LOG 变量为true,就表示std::log函数存在。

cmake build的输出如下:

bash 复制代码
-- Performing Test HAVE_LOG
-- Performing Test HAVE_LOG - Success
-- Performing Test HAVE_EXP
-- Performing Test HAVE_EXP - Success
相关推荐
招摇的一半月亮6 小时前
P2242 公路维修问题
数据结构·c++·算法
f***01937 小时前
CC++链接数据库(MySQL)超级详细指南
c语言·数据库·c++
合方圆~小文7 小时前
球型摄像机作为现代监控系统的核心设备
java·数据库·c++·人工智能
椰萝Yerosius8 小时前
[题解]2024CCPC郑州站——Z-order Curve
c++·算法
滨HI011 小时前
C++ opencv简化轮廓
开发语言·c++·opencv
学习路上_write11 小时前
FREERTOS_互斥量_创建和使用
c语言·开发语言·c++·stm32·单片机·嵌入式硬件
闻缺陷则喜何志丹12 小时前
【SOSDP模板 容斥原理 逆向思考】3757. 有效子序列的数量|分数未知
c++·算法·力扣·容斥原理·sosdp·逆向思考
BestOrNothing_201513 小时前
一篇搞懂 C++ 重载:函数重载 + 运算符重载,从入门到会用(含 ++、<<、== 实战)
c++·函数重载·运算符重载·operator·前置后置++·重载与重写
2501_9411444213 小时前
Python + C++ 异构微服务设计与优化
c++·python·微服务
程序猿编码13 小时前
PRINCE算法的密码生成器:原理与设计思路(C/C++代码实现)
c语言·网络·c++·算法·安全·prince