windows--cmake与c++的使用教程(4)
1 概述
- 本文基于前文环境
本节目标: 编写创建可执行程序exe的cmake脚本
2 核心代码
- add_executable命令用于生成可执行程序
3 用法
add_executable(项目名 代码文件)
如果有多个代码文件 可以追加代码文件,例如
add_executable(项目名 代码文件 代码文件2 代码文件3)
5 一个范例
- 下面将演示, 使用main.cc代码文件,创建一个基于可执行程序exe的cmake脚本
cmake_minimum_required(VERSION 3.20)
# 项目名称
project(cmake_library)
# 因为创建项目需代码文件,这里,我们可创建一个空的文件**main.cc**与CMakeLists.txt位于同级目录src下。
# 指定源文件。 这里创建 src_file, 用于保存代码源文件
set ( src_file
${CMAKE_CURRENT_SOURCE_DIR}/src/main.cc
)
# 创建动态库, 第一个参数: 项目名称, 第二个参数:代码文件
add_executable(cmake_library ${src_file})
6 多文件管理
- 通常有头文件和源文件,甚至还有inl文件,例如下面的目录结构,
.
│ CMakeLists.txt
│
├─include
│ IOCPTCP.cpp
│ IOCPTCP.h
│ IOCPTCP.hpp
│ IOCPTCP.inl
│
└─src
main.cc
这里仅仅是创建了空文件,文件内容为空, 用于构建cmake脚本时通过语法
至于项目能否顺利编译,这取决于代码文件的语法,与cmake脚本语法无关
- 瞧,有这么多文件需要处理,cmake怎么处理呢?脚本如下
cmake_minimum_required(VERSION 3.20)
# 项目名称
project(cmake_library)
# 因为创建项目需代码文件,这里,我们可创建一个空的文件**main.cc**与CMakeLists.txt位于同级目录src下。
# 指定源文件。 这里创建 src_file, 用于保存代码源文件
set ( src_file
${CMAKE_CURRENT_SOURCE_DIR}/src/main.cc
)
# include目录下的文件
set ( include_file
${CMAKE_CURRENT_SOURCE_DIR}/include/IOCPTCP.cpp
${CMAKE_CURRENT_SOURCE_DIR}/include/IOCPTCP.h
${CMAKE_CURRENT_SOURCE_DIR}/include/IOCPTCP.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/IOCPTCP.inl
)
# 创建动态库, 第一个参数: 项目名称, 第二个参数:代码文件, 第三个参数: 代码文件
add_executable(cmake_library ${src_file} ${include_file})
- 回到VS Code, 打开命令行, 构建脚本, 执行下面的语法
> cmake : configure
- 结果
可见已经生成成功
8 查看
- 可使用Vs2019打开解决方案cmake_library.sln, 查看项目属性