文章目录
CMake教程版本号:3.16.3
英文原文链接: https://cmake.org/cmake/help/latest/guide/tutorial/index.html#id2
github示例代码 https://github.com/sxpsxp12/cmake-learning-exampes
开始
最基本的项目就是基于源码构建一个可执行程序。对于一个最简单的项目,CMakefile.txt
三行就可以搞定。我们的教程就以此作为开始。首先需要在我们的项目根目录下创建一个CMakefile.txt文件。
cmake_minimum_required(VERSION 3.10)
# set the project name
project(helloworld)
# add the executable
add_executable(helloworld main.cpp)
注意:在上面的例子中,我们使用了小写的命令。但是CMake是支持大写,小写和大小写混合命令的。
添加版本号和配置的头文件
第一个特性就是我们将为我们的可执行程序和项目添加一个版本号,虽然可以在源代码中指定,但是在CMakefile.txt文件中配置是更加灵活的。
首先修改CMakefile.txt文件以支持版本号
cmake_minimum_required(VERSION 3.10)
#set the project name and version
project(helloworld VERSION 1.0)
然后,配置一个头文件,以便将版本号传给源文件
configure_file(version.h.in version.h)
因为配置文件会被写到二进制树中,所以我们必须添加那个目录,以便加入搜索头文件的目录列表中。在CMakefile.txt
文件最后一行添加以下内容:
target_include_directories(helloworld PUBLIC
"${PROJECT_BINARY_DIR}"
)
使用你的IDE,在源码目录下创建version.h.in
文件,并填加内容如下:
// the configured options and settings for Tutorial
#define Helloworld_VERSION_MAJOR @helloworld_VERSION_MAJOR@
#define Helloworld_VERSION_MINOR @helloworld_VERSION_MINOR@
当CMake配置了这个头文件时,@helloworld_VERSION_MAJOR@
和@helloworld_VERSION_MINOR@
的值会被替换。
接下来,修改main.cpp,包含配置的头文件version.h
最终,我们就可以在源代码中打印出来版本号了。