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
相关推荐
点云SLAM4 分钟前
C++ 偏特化详解
开发语言·c++·c++模板·c++17·c++高级应用·c++偏特化·大型项目
Sheep Shaun8 分钟前
STL:list,stack和queue
数据结构·c++·算法·链表·list
ozyzo13 分钟前
局部变量的产生
c++
_OP_CHEN13 分钟前
【C++数据结构进阶】吃透 LRU Cache缓存算法:O (1) 效率缓存设计全解析
数据结构·数据库·c++·缓存·线程安全·内存优化·lru
white-persist13 分钟前
【攻防世界】reverse | tt3441810 详细题解 WP
java·c语言·开发语言·数据结构·c++·算法·安全
量子炒饭大师18 分钟前
Cyber骇客的树状逻辑数据——【初阶数据结构与算法】树
c语言·数据结构·c++·二叉树·
草莓熊Lotso18 分钟前
C++ 异常完全指南:从语法到实战,优雅处理程序错误
android·java·开发语言·c++·人工智能·经验分享·后端
墨有66621 分钟前
【C++ 入门】类和对象(中)
开发语言·c++
墨有66627 分钟前
【C++ 入门】类和对象下
c++
小尧嵌入式32 分钟前
CANOpen协议
服务器·网络·c++·windows