1 一个简单的起点

第一步:一个简单的起点

    • 添加版本号和配置的头文件
    • Specify the C++ Standard
    • Build and Test

最基本的项目是从源代码文件构建的可执行文件。对于简单的项目,只有三行
必修的。这将是我们教程的起点。创建
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支持大小写混合命令。来源tutorial.cxx的代码在Step1目录中提供,可以用来计算一个数的平方根。

添加版本号和配置的头文件

我们将添加的第一个特性是为可执行文件和项目提供一个版本号。虽然我们可以只在源代码中这样做,但使用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\u VERSION\u MAJOR@和@Tutorial\u VERSION\u MINOR@的值将被替换。接下来修改tutorial.cxx以包含配置的头文件TutorialConfig.h。
最后,通过更新tutorial.cxx打印出可执行文件的名称和版本号,如下所示:

  if (argc < 2) {
    // report version
    std::cout << argv[0] << " Version " << Tutorial_VERSION_MAJOR << "."
              << Tutorial_VERSION_MINOR << std::endl;
    std::cout << "Usage: " << argv[0] << " number" << std::endl;
    return 1;
  }

Specify the C++ Standard

接下来,让我们在项目中添加一些C++ 11特性,用TST::STOD在ToRoalal.Cxx中替换Atof。同时,删除#include。

  const double inputValue = std::stod(argv[1]);

我们需要在CMake代码中显式声明它应该使用正确的标志。在CMake中支持特定C++标准的最简单方法是使用CMACHYCXXY标准变量。对于本教程,请将CMakeLists.txt文件中的CMAKE\u CXX\u STANDARD变量设置为11,将CMAKE\u CXX\u STANDARD\u REQUIRED设置为True。确保在add\u可执行文件的调用上方添加CMAKE\ucxx\u标准声明。

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)

Build and Test

运行cmake可执行文件或cmakegui来配置项目,然后使用您选择的构建工具构建它。
例如,我们可以从命令行导航到CMake源代码树的Help/guide/tutorial目录,并创建一个构建目录:

mkdir Step1_build

接下来,导航到build目录并运行CMake来配置项目并生成本机生成系统:

cd Step1_build
cmake ../Step1

然后调用构建系统来实际编译/链接项目:

cmake --build .

最后,尝试将新构建的教程与以下命令一起使用:

Tutorial 4294967296
Tutorial 10
Tutorial

你可能感兴趣的:(#,cmake官方示例,cmake)