【发布时间】:2018-07-12 16:14:58
【问题描述】:
在 CMake 中,可以使用 add_library 定义一个目标,例如 C 或 C++ 库,语法如下:
add_library(<name> [STATIC | SHARED | MODULE]
[EXCLUDE_FROM_ALL]
[source1] [source2 ...])
但是什么是可能的来源?它们显然可以是包含代码的.h 或.cxx 文件。但它们也可以是.rc 资源文件,甚至是链接器使用的.obj 目标文件。
那么根据语言、目标类型、平台,哪些类型的“非代码”可以作为 CMake 中的目标源? SOURCES 上的页面信息量不大。它是否位于文档中的其他位置?
另外,这个允许的源类型列表是否可以自定义和扩展,如何自定义和扩展?
编辑
例如,作为目标源提供的对象在 tensorflow 的 CMake 文件中随处使用,for example here。
【问题讨论】:
-
至于我可以在文档中找到的内容:请参阅源文件上的
LANGUAGE属性 -
@贾斯汀谢谢!但是为什么
.obj不在正则表达式中?不过肯定会处理的。这可能并不能涵盖整个故事。