gpt4 book ai didi

c++ - 在 CMake 中处理多个项目

转载 作者:可可西里 更新时间:2023-11-01 18:25:48 26 4
gpt4 key购买 nike

我目前正致力于将一个 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++ - 在 CMake 中处理多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9773336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com