CMake:将构建目录添加到包含路径中

14

我在寻找一种好的方法将构建目录(与我的源代码目录,即Git存储库,不同)添加到gcc的包含路径中,以便在编译期间看到经典的“config.h”文件,以确保可移植性。


这是与https://dev59.com/unRB5IYBdhLWcg3wpotm#558820不同的内容吗? - dirkgently
不,我自己发布了我正在寻找的内容,它是一个 cmake 变量。 - claf
4个回答

16

我在寻找

include_directories (${CMAKE_BINARY_DIR})

为了在源码目录之外编译项目,需要将构建目录添加进来。


10
比起已选择的答案,更现代的方法是使用
set(CMAKE_INCLUDE_CURRENT_DIR ON)

CMAKE_INCLUDE_CURRENT_DIR - 自动将当前源代码和构建目录添加到包含路径中。


1
你太棒了。感谢你发布这个答案,你是我的救星。 - Vpaladino

2

你是否在寻找-I$(DIR)?


我找到了自己想要的东西,那是一个cmake变量。无论如何还是谢谢你,点个赞。 - claf

1

还有${CMAKE_CURRENT_BINARY_DIR},它可以解析当前活动的构建目录中的子目录。

如果您的源代码位于诸如src/之类的子目录中,并且您想要包含从src/CMakeLists.txt生成的文件,则使用${CMAKE_CURRENT_BINARY_DIR}可能是您要寻找的东西。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接