我的项目使用第三方库项目。这个第三方库附带了他们自己的cmake项目文件,我们使用它。问题是他们的 cmake 项目有很多测试和示例可执行目标,在我们包含 cmake 之后,我们最终的 cmake 生成的 xcode 项目有所有这些不相关的测试和示例可执行目标。明显的方法是修改该 cmake 文件并删除/注释掉所有这些测试和示例可执行目标。但是,当我们更新库时,这将无法正常工作。我有什么选择,有没有办法包含 cmake 文件,然后禁用/删除 cmake 文件声明的一些目标?
您提到您希望禁用/删除的单元测试和示例代码背后的第三方库是abseil。
Abseil 的文档对于如何禁用 Abseil 的单元测试和示例代码有非常清晰和全面的文档。请参阅Abseil 的 README 部分,了解使用 CMake 运行 Abseil 测试。BUILD_TESTING只有同时启用和时,abseil 的单元测试才会启用,这是非常清楚的ABSL_BUILD_TESTING。
检查完绳索的 CMakeLists.txt 后,很明显您还需要显式禁用ABSL_BUILD_TEST_HELPERS. 看这里。
BUILD_TESTING通常,如果您希望使用 CTest 来运行项目自己的单元测试,则必须在项目中启用,因为一旦包含 CTest(源代码),它就会默认启用。然而,abseil 的 CMakeLists.txt 很清楚,您需要显式禁用ABSL_BUILD_TESTING和ABSL_BUILD_TEST_HELPERS来禁用其单元测试。
| 归档时间: |
|
| 查看次数: |
4213 次 |
| 最近记录: |