我目前想将一些自写类(“mycode.cpp”和“mycode.hpp”)添加到使用 Cmake 配置的大型现有 C++ 项目中。这些类位于“myfolder”中,该文件夹位于现有项目的“lib/pointrender”文件夹中(请参阅下面的虚拟层次结构)。
|- 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 文件的子项目?有什么区别?
请您参考如下方法:
这个 project.cmake
被 include()
d 成为一些 CMakeLists.txt
并作为其中的一部分执行。您正在使用的项目的作者出于某种原因推出了此功能,因此最好使用他们的基础设施来添加自定义代码。
通常的方法是编写您自己的 CMakeLists.txt
并从上层 add_subdirectory()
进行处理。
如果您想要更多详细信息,您应该使用 project.cmake
内容更新您的问题。