Skip to main content
 首页 » 编程设计

makefile中Cmake:添加子项目添加子文件夹

2024年09月03日13Renyi-Fan

我目前想将一些自写类(“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.cmakeinclude()d 成为一些 CMakeLists.txt 并作为其中的一部分执行。您正在使用的项目的作者出于某种原因推出了此功能,因此最好使用他们的基础设施来添加自定义代码。

通常的方法是编写您自己的 CMakeLists.txt 并从上层 add_subdirectory() 进行处理。

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