首页 > 解决方案 > CMake按条件添加库作为依赖项

问题描述

我有两个目标的 CMake 项目:

  1. add_custom_target (CT)- 生成“cpp headers”或“cpp headers + cpp sources”。在构建时(构建时)确定是否仅生成标头或源CT
  2. add_library (AL)- 生成一些库

AL取决于CT

是否可以将生成的源代码编译CT到库中(必需!!!)并将该库添加为依赖项AL

标签: cmake

解决方案


恐怕答案是否定的。CMake 并不真正支持 CMake 本身运行时未知的源。如果您可以拆分CT为确定将有哪些源的部分(A 部分)和实际生成源的部分(B 部分),您可以在 CMake 时运行 A 部分并使用这些信息来构建库,并且AL,然后在构建时替换CT并发生 B 部分。


推荐阅读