c – 在CMake中使用多个项目

前端之家收集整理的这篇文章主要介绍了c – 在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文件的子目录,因此允许添加当前目录是没有意义的.您只需添加CMake逻辑即可在CMakeLists.txt文件中构建项目的该部分.如果你想分离逻辑,那么你可以将它放在build_project.cmake中,然后使用include,
include(build_project.cmake)

您可以包含任意数量的其他CMake文件,并且将评估CMake代码,就好像它是内联粘贴一样.所以所有正常的add_executable和类似的命令都可以工作.

猜你在找的C&C++相关文章