cmake学习之add_subdirectory指令
[TOC]
文章参考:https://blog.csdn.net/weixin_39258979/article/details/115133517
概述
语法基础
1 | add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL]) |
一共有三个参数,后两个是可选参数
- source_dir 源代码目录
指定一个包含CMakeLists.txt和代码文件所在的目录,该目录可以是绝对路径,也可以是相对路径,对于后者相对路径的起点是CMAKE_CURRENT_SOURCE_DIR。此外,如果子目录再次包含的CMakeLists.txt,则将继续处理里层的CMakeLists.txt,而不是继续处理当前源代码。
- binary_dir 二进制代码目录(其实就是cmake命令输出文件)
这个目录是可选的,如果指定,cmake命令执行后的输出文件将会存放在此处,若没有指定,默认情况等于source_dir
没有进行相对路径计算前的路径,也就是CMAKE_BINARY_DIR
。
- EXCLUDE_FROM_ALL标记
这个标志是可选的,如果传递了该参数表示新增加的子目录将会排除在ALL目录之外(可能是make系统中的make all?),表示这个目录将从IDE的工程中排除。用户必须显式在子文件这个编译目标(手动cmake之类的)。指定了这个文件夹,表示这个文件夹是独立于源工程的,这些函数是有用但是不是必要的,比如说我们一系列的例子。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 麦溪·在路上!
评论
ValineDisqus