cmake 笔记02
介绍
Cmake 跨平台生成makefile的工具
第一步
例程
1 | cmake_minimum_required(VERSION 3.13) |
大小写不敏感,可以混合使用,eg:pRoJeCT也能识别
添加版本数字和配置头文件
我们要加入的第一个特点是提供我们弹性的版本号和头文件,我们可以用在源码中弹性地用这个方法。
先修改 CMakeLists.txt 文件,加入版本号
1 | cmake_minimum_required(VERSION 3.10) |
然后配置头文件传递版本号到源码
1 | configure_file(TutorialConfig.h.in TutorialConfig.h) |
配置文件将要被写入二进制树,我们必须加入那个文件夹到路径列表来搜索包含的文件,加入这几行到CmakeList.txt的结尾
1 | target_include_directories(Tutorial PUBLIC |
在源目录创建TutorialConfig.h.in文件并包含以下内容:
1 | // the configured options and settings for Tutorial |
当CMake配置这个头文件的时候,变量 @Tutorial_VERSION_MAJOR@ 和 @Tutorial_VERSION_MINOR@ 将被替代。
接下来修改cc文件包含头配置的文件,最后输出配置的姓名和版本号如下:
1 | if (argc < 2) { |
指明C++标准
接下来加入一些C++11标准的特点到我们的新项目里,吧atof换成std::stod,同时移除#include<cstdlib>。
我们将需要在CMake代码里具体表明需要的正确flag,最简单的方法就是使能C++标准支持的方法是使用 CMAKE_CXX_STANDARD 变量,对于本教程,设置标准为11还有 CMAKE_CXX_STANDARD_REQUIRED 为true。
1 | cmake_minimum_required(VERSION 3.10) |
运行测试
略
- 本文作者: Zheng Yuchen
- 本文链接: https://zycccccc.top/2020/12/04/cmake/cmake02/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!