在CMake中处理多个项目 我目前正在研究一个VisualC++项目(它里面有多个子项目)转换到CMake。
有一件事我不确定——基本上,为了包含顶级CMakeLists.txt文件中的子项目,我只使用在CMake中处理多个项目 我目前正在研究一个VisualC++项目(它里面有多个子项目)转换到CMake。,c++,cmake,C++,Cmake,有一件事我不确定——基本上,为了包含顶级CMakeLists.txt文件中的子项目,我只使用add_subdirectory命令,并引用这些不同子项目存储的目录 但是,我有一个项目与我的顶级CMakeLists.txt文件位于同一目录中,因此我想知道是否仍然可以以某种方式包含此文件?CMake不允许我调用现有项目\u BINARY\u DIR上的add\u子目录(见下文): 我想不出另一种方法将此子项目包含到我的CMake构建中。有什么想法吗?add_子目录所做的就是添加一个包含CMakeLis
add_subdirectory
命令,并引用这些不同子项目存储的目录
但是,我有一个项目与我的顶级CMakeLists.txt文件位于同一目录中,因此我想知道是否仍然可以以某种方式包含此文件?CMake不允许我调用现有项目\u BINARY\u DIR上的add\u子目录(见下文):
我想不出另一种方法将此子项目包含到我的CMake构建中。有什么想法吗?add_子目录所做的就是添加一个包含CMakeLists.txt文件的子目录,因此允许您添加当前目录是没有意义的。您只需在CMakeLists.txt文件中添加CMake逻辑即可构建项目的该部分。如果要分离逻辑,可以将其放入build_project.cmake中,然后使用include
include(build_project.cmake)
您可以包含任意数量的其他CMake文件,并且该CMake代码的评估将如同它是内联粘贴的一样。因此,所有正常的add_可执行文件和类似命令都可以工作
include(build_project.cmake)