如何在Cmake中正确查找头路径,以便在我的项目中构建Box2D

How to correctly for header paths in Cmake to build Box2D inside my project

本文关键字:我的 项目 构建 Box2D Cmake 查找 路径      更新时间:2023-10-16

正在尝试构建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")并指定所有可能的头和源,但我仍然无法构建它

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

include_directories(${CMAKE_CURRENT_SOURCE_DIR})

这将确保可以相对于<project_root_folder>找到标头