Cmake入门
构建一个最简单的Cmake demo,借鉴potplayer。
其中最基础的三个命令是:
cmake_minimum_required()
project()
add_executable()
哪怕只有这三个命令都可以 构成一个CMake工程。下面介绍下命令地用法:
cmake_minimum_required(VERSION <min>[...<policy_max>] [FATAL_ERROR])
设置项目所需的最低 cmake 版本,当camke版本低于所需的最低版本,会停止处理项目并且报错。
project(<PROJECT-NAME> [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]] [DESCRIPTION <project-description-string>] [HOMEPAGE_URL <url-string>] [LANGUAGES <language-name>...])
设置项目名称,并将名称赋给PROJECT_NAME变量。如果是在最顶层的CMakeLists.txt使用,那么同样会将名称赋值给CMAKE_PROJECT_NAME变量。
其中LANGUAGES默认表示C和CXX。
add_executable(<name> [WIN32] [MACOSX_BUNDLE]
[EXCLUDE_FROM_ALL]
[source1] [source2 ...])
增加一个可执行目标,目标名称为<name>,目标从命令调用中的源文件构建。
add_library(<name> [STATIC | SHARED | MODULE]
[EXCLUDE_FROM_ALL]
[<source>...])
添加一个名为 <name> 的库目标,该目标是从命令调用中列出的源文件构建的。
add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL] [SYSTEM])
添加一个子目录在构建中。
target_include_directories(<target> [SYSTEM] [AFTER|BEFORE] <INTERFACE|PUBLIC|PRIVATE> [items1...] [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界