2

我目前想将一些自己编写的类(“mycode.cpp”和“mycode.hpp”)添加到一个使用 Cmake 配置的大型现有 C++ 项目中。这些类位于现有项目的“lib/pointrender”文件夹中的“myfolder”中(参见下面的虚拟层次结构)。

|- libs 
|    |- core
|    |   |- ...
|    |- pointrender
|        |- myfolder
|        |     |- mycode.cpp
|        |     |- mycode.hpp
|        |- existingclasses.cpp
|        |- existingclasses.hpp
|        |- project.cmake
|- CMakeLists.txt

在 CMakesLists.txt 中,pointrender 文件夹被声明为子项目。

declare_subproject(libs/pointrender)

如何最好地将我的代码添加到现有的 cmake 配置中?我是否将其添加为 project.cmake 中的子文件夹,并在 myfolder 中使用单独的 CMakeLists.txt?或者我最好将它添加为带有单独 project.cmake 文件的子项目?有什么不同?

4

1 回答 1

2

project.cmakeinclude()d be some CMakeLists.txtand get's 作为其中的一部分执行。您正在使用的项目的作者出于某种原因推出了此功能,因此使用他们的基础架构添加自定义代码可能会更好。

执行此操作的通常方法是编写自己的CMakeLists.txtadd_subdirectory()从上层对其进行 ing。

如果您需要更多详细信息,您应该使用project.cmake内容更新您的问题。

于 2012-11-13T16:02:13.010 回答