add_subdirectory() 不安装任何东西

add_subdirectory() without installing anything

我使用 CMake add_subdirectory(gtest) 构建 gtest 来测试我的项目。我也用CPack做安装包。

问题是 gtest 存储库(它是一个 git 子模块)在某些文件上运行 install(),所以它们最终出现在我的安装程序中!显然我不想这样。有没有一种方法可以禁用给定子目录的 install() 命令,而不只是将它们从 CMakeLists 中删除?

您可以使用它来防止安装 Google 测试:

add_directory(gtest EXCLUDE_FROM_ALL)