我的项目结构如下:

-Engine
 |-Shaders
 | '-shader.glsl
 |-source
 | |-Math
 | |'- matrix.hpp
 | | - vector.hpp
 | '-Lua
 | |'-lua_state.hpp
 '-CMakeLists.txt


我正在使用CMake作为构建系统,我的问题是:

如何在不使用文件夹路径前缀的情况下将matrix.hpp包含在lua_state.hpp中?我的意思是要在lua_state.hpp #include "../Math/matrix.hpp"中使用,就像这样包含-> #include "matrix.hpp",有没有办法用CMake做到这一点?

最佳答案

您可以指定编译器的包含路径(-I选项)
将其包括在所有目标中(docs

include_directories(source/Math)


或使用目标属性(docs

target_include_directories(yourAppOrLibTargetName PRIVATE source/Math)

关于c++ - CMake包含没有文件夹前缀的项目文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42909928/

10-13 08:09