在CMake中处理多个项目
Working with Multiple Projects in CMake
我目前正在将一个Visual C++项目(其中包含多个子项目)转换为CMake。
有一件事我不确定——基本上,为了包括顶级CMakeLists.txt文件中的子项目,我只使用add_subdirectory
命令,并引用这些不同子项目存储的目录。
然而,我有一个项目与我的顶级CMakeLists.txt文件位于相同的目录中,所以我想知道是否仍有可能以某种方式包含此文件?CMake不允许我调用现有PROJECT_BINARY_DIR上的add_subdirectory(见下文):
add_subdirectory(${PROJECT_BINARY_DIR}) #not allowed in CMake
我想不出其他方法将此子项目包含在我的CMake构建中。有什么想法吗?
所有add_subdirectory所做的就是添加一个包含CMakeLists.txt文件的子目录,因此允许您添加当前目录是没有意义的。您可以简单地在CMakeLists.txt文件中添加CMake逻辑来构建项目的这一部分。如果你想分离逻辑,那么你可以把它放在build_project.cmake中,然后使用include,
include(build_project.cmake)
您可以包含任意多的其他CMake文件,并且该CMake代码将像内联粘贴一样进行评估。因此,所有普通的add_executable和类似的命令都可以工作。
相关文章:
- 如何在bazel中同时处理外部依赖项和我的项目
- 使用 FetchContent_ 处理嵌套的 cmake 项目
- 嵌入批处理脚本文件并在C 控制台项目中运行
- 使用 Git 如何处理在不同修订版共享相同代码的C++项目?
- 在使用Bazel Build构建项目期间,处理/选择界面的不同实现
- (C )正在创建专门用于处理所有其他自定义对象的类/对象一种处理项目的正确方法
- 视觉C++ Battle4锡安项目 引发未处理的异常:读取访问冲突.**这**是空的.发生
- 如何使用Bamboo CI处理C++CMake项目之间的依赖关系
- opencv中项目出现未处理的异常
- Eclipse处理多个项目
- 如何在C++中处理大型项目
- 我应该/可以/必须如何处理我的C++项目所依赖的dll
- 我正在处理一个 c++ 项目,但在通过引用传递 rect0 对象时遇到问题
- C/C++汇编.在处理项目的简单生成文件时遇到问题
- 图像处理项目的照片中照明水平变化的样本
- 如何处理 2D opengl 项目的纹理
- 如何处理混合模式项目中的打印
- 如何在大型项目中预处理具有多个 #include 文件的单个源文件
- 使用继承处理跨项目的事件
- 使用 EDE 处理 emacs 中的 cmake/C++ 项目