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, 查看项目属性
posted @ 2022-11-15 20:04  mohist  阅读(296)  评论(0编辑  收藏  举报