Cmake 并包含在源目录树中

问题描述 投票:0回答:1

CMake 文档包含以下内容:

include_directories:将包含目录添加到构建中。
include_directories([AFTER|BEFORE] [SYSTEM] dir1 dir2 ...) 添加 给编译器用来搜索包含的目录 文件。相对路径被解释为相对于当前路径 源目录。

需要澄清:“当前源目录”是指包含此 CMakeLists.txt 文件的目录,还是包含正在构建的源文件的目录?实验建议是前者,但我希望得到确认。

我正在从 Xcode 转换一个旧项目,这是目录结构:

  A (contains CMakeLists.txt and some headers)
 / \
B   C (each contain sources and headers)

在 Xcode 中(它也适用于 Visual Studio)我可以说“递归地查找项目目录和所有子目录中的包含文件。”这里有什么办法可以做到这一点吗?如果没有,表达我需要的最优雅的语法是什么?我在 B 中有源文件引用 A 中的标头,还有一些引用 C 中的标头

cmake include
1个回答
0
投票

它指的是当前正在执行的包含

CMakelists.txt
(不是*.cmake脚本)的目录。

该路径存储在

CMAKE_CURRENT_SOURCE_DIR
变量中。

© www.soinside.com 2019 - 2024. All rights reserved.