游戏后端技术_CMake的基本使用
最近更新:2024-09-23
|
字数总计:390
|
阅读估时:1分钟
|
阅读量:次
- 什么是CMake
- 编写CMakeLists.txt
- 1. 指定cmake最低版本
- 2. 指定工程名字
- 3. 定义生成内容
- 生成可执行程序
- 生成静态库
- 生成动态库
- 4.补充辅助内容
- 搜索文件
- 包含头文件
- 嵌套CMake
- 定义变量
- 注释
- 5.范例
什么是CMake
- 跨平台项目构建工具
- 不同平台的构建:
- linux使用makefile(依赖平台、工作量大、依赖关系处理复杂)
- windows使用.sln .vcxproj
- 工作流程
- 编写CMakeLists.txt组织项目源码
- 执行cmake
- 生成makefile或.sln .vcxproj
- 使用make 或者 点击编译
- 优点
- 跨平台
- 轻松管理大型项目
- 简化编译构建
- 可扩展
编写CMakeLists.txt
1. 指定cmake最低版本
1
| cmake_minimum_required(VERSION 3.11)
|
2. 指定工程名字
3. 定义生成内容
生成可执行程序
1 2 3 4
| 生成: add_executable() 路径 set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
生成静态库
1 2 3 4 5 6 7
| add_librry(库名 STATIC) 生成路径: set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) 静态库查找路径: link_directories 链接: link_libraries
|
生成动态库
1 2 3 4 5 6 7
| add_librry(库名 SHARED) 生成路径: set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) 动态库查找路径: link_directories 链接: link_libraries
|
4.补充辅助内容
搜索文件
1 2
| aux_source_dirctory file
|
包含头文件
嵌套CMake
定义变量
1 2 3 4 5
| set(变量名, 变量值) 设置自定义变量 设置cmake变量 set(CMAKE_CXX_STANDARD 11) set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|
注释
5.范例
1 2 3 4 5 6 7 8 9 10
| cmake_minimum_required(VERSION 3.20)
project(v1)
set(SRC add.cpp sub.cpp mul.cpp div.cpp main.cpp) message(${PROJECT_BINARY_DIR}) set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
add_executable(v1 ${SRC})
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| cmake_minimum_required(VERSION 3.20)
project(v2)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
add_executable(v2 ${SRC})
|
2024-06-09
该篇文章被 Cleofwine
归为分类:
Game