Building a Basic Project
构建CMake项目
在最简单的项目中,只有一个源文件,并且最终生成一个可执行文件,使用CMake管理只需要3条CMake指令
- 最顶层的CMakeLists.txt必须指定cmake的最低版本:
cmake_minimum_required(VERSION 3.10)
这能够保证CMake使用兼容版本的函数。 2. project(Tutorial) 设置项目名称,必须跟在上述指令之后 3. add_executable(Tutorial tutorial.cxx) 告诉CMake使用指定的源文件创建一个可执行文件
Build & Run
可以进入CMakeLists.txt所在目录,创建构建目录存放构建出的文件 mkdir build 配置项目并生成本地构建系统 cmake .. 调用改构建系统实际地编译链接项目 cmake --build .
指定C++标准
CMake包含一些以CMAKE_开头的特殊变量,如CMAKE_CXX_STANDARD ,CMAKE_CXX_STANDARD_REQUIRED 可以指定C++版本
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
Configured Header File
在头文件中使用类似@VAR@ 的语法,并使用configure_file() 命令将拷贝输入文件并转化为输出文件,并将其中的特殊变量转换为CMakeLists.txt的的VAR 值。这种方式可以很好的管理软件版本。 例子:
project(Tutorial VERSION 1.0) 设定项目名称,cmake会自动定义Tutorial_VERSION_MAJOR 和Tutorial_VERSION_MINOR 变量为1和0- 在输入头文件TutorialConfig.h.in中
#define Tutorial_VERSION_MAJOR @Tutorial_VERSION_MAJOR@
#define Tutorial_VERSION_MINOR @Tutorial_VERSION_MINOR@
configure_file(TutorialConfig.h.in TutorialConfog.h) 输出.h文件并将其中的特殊变量替换,从而定义了版本号的宏- 在.cxx文件中include输出头文件即可
|