Sirius' blog Sirius' blog
首页
  • 学习笔记

    • 《C++》
    • 《MATLAB》
    • 《Python》
  • 学习笔记

    • 《Git》
    • 《CMake》
  • 技术文档
  • 博客搭建
  • 学习
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Sirius0v0

怕什么真理无穷,进一寸有一寸的欢喜
首页
  • 学习笔记

    • 《C++》
    • 《MATLAB》
    • 《Python》
  • 学习笔记

    • 《Git》
    • 《CMake》
  • 技术文档
  • 博客搭建
  • 学习
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 初识CMake:学习笔记与速查
  • CMake中常见的内置变量
  • 现代CMake命令行及CMakeLists.txt写法
    • 命令行调用
      • 命令行中常用的选项
    • CMakeLists.txt写法
  • CMake设置对象属性
  • CMake链接第三方库的方法
  • 使用CMake模块化项目
  • 《CMake》学习笔记
Sirius0v0
2023-08-10
目录

现代CMake命令行及CMakeLists.txt写法

# 现代CMake学习:命令行及CMakeLists.txt写法

# 命令行调用

# 古代CMake
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
make install
cd ..

# 现代CMake
cmake -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel 4
cmake --build build --target install
  • 现代CMake中不必手动创建build文件夹
  • cmake --build build命令增强了通用性,无需关心不同平台的编译方法

# 命令行中常用的选项

-B选项

-Bbuild 直接创建目录 build 并生成 bulid/Makefile 。

-D选项

指定配置变量(缓存变量),例如使用 -DCMAKE_BUILD_TYPE=Release 会设置变量 CMAKE_BUILD_TYPE 为 Release,该变量会保存在 build/CMakeCache.txt 中。

-G选项

指定生成器,支持的生成器可以通过 cmake -G 命令来查看

  • Linux 系统默认用的是 Unix Makefiles;
  • Windows 系统默认用的是 Visual Studio;
  • MacOS 系统默认用的是 Xcode。

# CMakeLists.txt写法

古代引用第三方库的写法比较繁琐,不在此列举,仅说明现代CMakeLists.txt的具体写法: 在现代CMake中引用第三方库,在我们链接了之后,该库会自动携带其头文件目录等传播给自己的项目,无需手动添加:只需要一个链接即可。

cmake_minimum_required(VERSION 3.12)
project(MyProject LANGUAGES CXX)

find_package(TBB COMPONENTS tbb tbbmalloc REQUIRED)

add_executable(myapp myapp)
target_link_libraries(myapp TBB::tbb TBB::tbbmalloc)
编辑 (opens new window)
#CMake
上次更新: 2023/08/14, 19:51:00
CMake中常见的内置变量
CMake设置对象属性

← CMake中常见的内置变量 CMake设置对象属性→

最近更新
01
ipopt优化库配置及使用
07-21
02
ubuntu离线安装包的方法
07-21
03
其它控件的使用
03-05
更多文章>
Theme by Vdoing | Copyright © 2020-2024 Sirius0v0 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式