我的项目结构如下:
-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做到这一点?
答案 0 :(得分:0)
您可以指定编译器的包含路径(-I选项) 要将其包含在所有目标中(docs)
include_directories(source/Math)
或使用目标属性(docs)
target_include_directories(yourAppOrLibTargetName PRIVATE source/Math)
答案 1 :(得分:0)
通过调用include_directories
command将目录添加到包含路径。
您还需要确保使用add_library
或add_executable
将头文件声明为您正在创建的库或可执行文件的依赖项。根据您列出的文件,我无法告诉您需要什么。