CMake教程-Step1(基本点)
https://cmake.org/cmake/help/latest/guide/tutorial/index.html
CMake教程
CMake教程提供了分步指南,涵盖了CMake可以解决的常见构建系统问题。 了解示例项目中各个主题如何协同工作将非常有帮助。 教程文档和示例的源代码可以在CMake源代码树的Help / guide / tutorial目录中找到。 每个步骤都有其自己的子目录,该目录包含可以用作起点的代码。 教程示例是渐进式的,因此每个步骤都为上一步提供了完整的解决方案。
基本起点(步骤1)
最基本的项目是从源代码文件构建的可执行文件。 对于简单的项目,只需三行CMakeLists.txt文件。 这将是本教程的起点。 在Step1目录中创建一个CMakeLists.txt文件,如下所示:
cmake_minimum_required(VERSION 3.10)# set the project name
project(Tutorial)# add the executable
add_executable(Tutorial tutorial.cxx)
请注意,此示例在CMakeLists.txt文件中使用小写命令。 CMake支持大写,小写和大小写混合命令。 step1目录中提供了tutorial.cxx的源代码,可用于计算数字的平方根。
添加版本号和配置的头文件
我们将添加的第一个功能是为我们的可执行文件和项目提供版本号。 尽管我们可以仅在源代码中执行此操作,但使用CMakeLists.txt可以提供更大的灵活性。
首先,修改CMakeLists.txt文件以使用project()命令设置项目名称和版本号。
cmake_minimum_required(VERSION 3.10)# set the project name and version
project(Tutorial VERSION 1.0)
然后,配置头文件以将版本号传递给源代码:
configure_file(TutorialConfig.h.in TutorialConfig.h)
由于已配置的文件将被写入二进制树,因此我们必须将该目录添加到路径列表中以搜索包含文件。 将以下行添加到CMakeLists.txt文件的末尾:
target_include_directories(Tutorial PUBLIC"${PROJECT_BINARY_DIR}")
使用您喜欢的编辑器,在源目录中创建TutorialConfig.h.in并包含以下内容:
// the configured options and settings for Tutorial
#define Tutorial_VERSION_MAJOR @Tutorial_VERSION_MAJOR@
#define Tutorial_VERSION_MINOR @Tutorial_VERSION_MINOR@
当CMake配置此头文件时,@ Tutorial_VERSION_MAJOR @和@ Tutorial_VERSION_MINOR @的值将被替换。
接下来,修改tutorial.cxx以包括配置的头文件TutorialConfig.h。
最后,通过更新tutorial.cxx来打印出版本号,如下所示:
if (argc < 2) {// report versionstd::cout << argv[0] << " Version " << Tutorial_VERSION_MAJOR << "."<< Tutorial_VERSION_MINOR << std::endl;std::cout << "Usage: " << argv[0] << " number" << std::endl;return 1;}
指定C ++标准
接下来,通过在tutorial.cxx中将stof :: stod替换为atof,向我们的项目中添加一些C ++ 11功能。 同时,删除#include
const double inputValue = std::stod(argv[1]);
我们将需要在CMake代码中明确声明应使用正确的标志。 在CMake中启用对特定C ++标准的支持的最简单方法是使用CMAKE_CXX_STANDARD变量。 对于本教程,将CMakeLists.txt文件中的CMAKE_CXX_STANDARD变量设置为11,并将CMAKE_CXX_STANDARD_REQUIRED设置为True:
cmake_minimum_required(VERSION 3.10)# set the project name and version
project(Tutorial VERSION 1.0)# specify the C++ standard
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
构建和测试
运行cmake可执行文件或cmake-gui来配置项目,然后使用所选的构建工具对其进行构建。
例如,从命令行我们可以导航到CMake源代码树的Help / guide / tutorial目录并运行以下命令:
mkdir Step1_build
cd Step1_build
cmake ../Step1
cmake --build .
导航到构建Tutorial的目录(可能是make目录或Debug或Release构建配置子目录),然后运行以下命令:
Tutorial 4294967296
Tutorial 10
Tutorial
实验代码:https://download.csdn.net/download/yufm/12670203
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
