CMake 插入不带文件夹前缀的项目文件

CMake inlucde project file without folder prefix

本文关键字:前缀 项目文件 文件夹 插入 CMake      更新时间:2023-10-16

我的项目结构如下:

-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 选项(为所有目标(文档(包含它

include_directories(source/Math)

或使用目标属性 (文档(

target_include_directories(yourAppOrLibTargetName PRIVATE source/Math)

通过调用 include_directories 命令将目录添加到包含路径。

您还需要确保将头文件声明为正在创建的库或可执行文件的依赖项,使用 add_libraryadd_executable 。根据您列出的文件,我无法完全判断您需要什么。