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
相关推荐
DolphinDB16 分钟前
如何在C++交易系统中集成高性能回测与模拟撮合
c++
筏.k39 分钟前
C++ 网络编程(14) asio多线程模型IOThreadPool
网络·c++·架构
爱喝茶的小茶2 小时前
周赛98补题
开发语言·c++·算法
OpenC++2 小时前
【C++】备忘录模式
c++·设计模式·备忘录模式
小庞在加油3 小时前
《dlib库中的聚类》算法详解:从原理到实践
c++·算法·机器学习·数据挖掘·聚类
ComputerInBook3 小时前
C++ 标准模板库算法之 transform 用法
开发语言·c++·算法·transform算法
2301_803554526 小时前
c++中类的前置声明
java·开发语言·c++
LyaJpunov9 天前
深入理解 C++ volatile 与 atomic:五大用法解析 + 六大高频考点
c++·面试·volatile·atomic
小灰灰搞电子9 天前
Qt PyQt与PySide技术-C++库的Python绑定
c++·qt·pyqt
时空自由民.10 天前
C++ 不同线程之间传值
开发语言·c++·算法