Tutorial-1
最基本的项目是从源代码构建可执行文件, 对于简单的项目,三行CMakeLists.txt足够了,这就是本教程的起点,在Step1目录下创建一个CMakeLists.txt, 如下所示:
cmake_minimum_required(VERSION 3.10)
# 设置project的名字
project(Tutorial)
# 添加执行
add_executable(Tutorial tutorial.cxx)
这个例子中CMakeLists.txt文件中使用了小写命令。CMake支持大小写混合命令。tutorial.cxx是一个计算数字平方根的文件:
#include <iostream>
#include <math.h>
using namespace std;
void sq(double n)
{
double res = sqrt(n);
cout << res << endl;
}
int main() {
sq(3.112314564);
}
构建和运行
该有的都有了, 现在可以构建和运行我们的项目 tutorial了,首先运行cmake可执行文件,或者cmake-gui来配置(作者:我这里用的是命令行)。
mkdir Step1_build
cd Step1_build
cmake ../
会在该目录生成一个 Makefile文件,我们只要
make 就会生成可执行文件。
添加版本号和配置头文件
接下来我们要添加版本号,为我们的项目配置版本号。
修改project :
project(Tutorial VERSION 1.0)
然后,配置一个头文件,将版本号传递给代码
configure_file(TutorialConfig.h.in TutorialConfig.h)
由于配置文件将要被写入二叉树中,我们必须把目录放到搜索include文件的路径表中。在末尾加入CMakeLists.txt:
target_include_directories(Tutorial PUBLIC ${PROJECT_BINARY_DIR})
然后创建TutorialConfig.h.in 写入:
#define Tutorial_VERSION_MAJOR @Tutorial_VERSION_MAJOR@
#define Tutorial_VERSION_MINOR @Tutorial_VERSION_MINOR@
当CMake配置这个头文件时, @Tutorial_VERSION_MAJOR@和@Tutorial_VERSION_MINO@的值将会被替换。
cxx包含已配置的头文件TutorialConfig.h。
最后,让我们通过更新教程来打印可执行文件的名称和版本号。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;
}
指定C++标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
Tutorial-1结束
:) 转载请说明出处。
|