如何在Cmake中正确地为标头路径在我的项目中构建Box2D

时间:2018-08-04 16:25:19

标签: c++ build cmake box2d

尝试构建Box2D。它使用premake作为其构建系统,但我想将其更改为CMake以与程序一起对其进行编译。

它的主要标题为${project_root_folder_here}/Box2D/Box2D.h。该文件还包含一堆其他具有完整路径的标头,例如#include "Box2D/Common/b2Settings.h"#include "Box2D/Common/b2Draw.h"。所有Box2D文件都通过完整路径包括相应的标题。

我的问题是我不知道如何正确设置CMakeLists.txt来导入Box2D源而不更改其文件(#include路径)以反映我的项目文件夹结构,如下所示:

project_root_folder
-> Box2D/
---> Common/
-----> ...
---> Collision/
-----> ...
---> Dynamics/
-----> ...
---> Box2D.h
-> MySources/
---> some_header.h
---> some_source.cpp
---> main.cpp
-> CMakeLists.txt
-> Build/

我尝试设置include_directories("Box2D")并指定所有可能的标题和源,但是我仍然无法构建它。

1 个答案:

答案 0 :(得分:0)

<project_root_folder>/CMakeLists.txt中,您可以执行以下操作:

include_directories(${CMAKE_CURRENT_SOURCE_DIR})

这将确保可以相对于<project_root_folder>

找到标头