欢迎关注公众号【自动驾驶事务所】,分享更多以C/C++为计算机语言,以自动驾驶为方向的文章
欢迎关注公众号【自动驾驶事务所】,分享更多以C/C++为计算机语言,以自动驾驶为方向的文章
前面是中文,是我根据项目过程应用中用到的方面的知识。
后面附有英文版的,如果有不明白的地方,可以直接看英文版的。谢谢
CMake
下面是一个循序渐进的教程,介绍CMAKE帮助解决的常见构建系统用例。在掌握CMAKE时,已经介绍了许多这些主题作为单独的问题,但是看看它们如何在示例项目中一起工作是非常有帮助的。本教程可以在cmake源代码树的tests/tutorial目录中找到。每个步骤都有自己的子目录,其中包含该步骤教程的完整副本。
有关cmake概念和源树组织的概述,请参阅cmake构建系统(7)和cmake,(7)手册页的介绍部分。
基本起点(步骤1)
最基本的项目是从源代码文件构建的可执行文件。对于简单项目,只需要两行cmakelists.txt文件。这将是本教程的起点。cmakelists.txt文件如下:
cmake_minimum_required (VERSION 2.6)
project (Tutorial)
add_executable(Tutorial tutorial.cxx)
请注意,此示例在cmakelists.txt文件中使用小写命令。CMAKE支持upper、lower和mixed case命令。tutorial.cxx的源代码将计算一个数字的平方根,它的第一个版本非常简单,如下所示:
// A simple program that computes the square root of a number
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (int argc, char *argv[])
{
if (argc < 2)
{
fprintf(stdout,“Usage: %s number\n”,argv[0]);
return 1;
}
double inputValue = atof(argv[1]);
double outputValue = sqrt(inputValue);
fprintf(stdout,“The square root of %g is %g\n”,
inputValue, outputValue);
return 0;
}
添加版本号和配置的头文件
我们将添加的第一个特性是为可执行文件和项目提供一个版本号。虽然您可以在源代码中专门这样做,但在cmakelists.txt文件中这样做可以提供更多的灵活性。要添加版本号,我们修改cmakelists.txt文件,如下所示:
cmake_minimum_required (VERSION 2.6)
project (Tutorial)
The version number.
set (Tutorial_VERSION_MAJOR 1)
set (Tutorial_VERSION_MINOR 0)
configure a header file to pass some of the CMake settings
to the source code
configure_file (
“
P
R
O
J
E
C
T
S
O
U
R
C
E
D
I
R
/
T
u
t
o
r
i
a
l
C
o
n
f
i
g
.
h
.
i
n
"
"
{PROJECT_SOURCE_DIR}/TutorialConfig.h.in" "
PROJECTSOURCEDIR/TutorialConfig.h.in""{PROJECT_BINARY_DIR}/TutorialConfig.h”
)
add the binary tree to the search path for include files
so that we will find TutorialConfig.h
include_directories(“${PROJECT_BINARY_DIR}”)
add the executable
add_executable(Tutorial tutorial.cxx)
https://cmake.org/cmake-tutorial/
上面是CMake 的官网,有需要的可以去看看。