【发布时间】:2013-12-27 23:46:00
【问题描述】:
我正在使用 OpenGL Loader Generator 为我的项目生成 GL 函数加载代码。它生成 gl_loader.h 和 gl_loader.c。我的其他一些源文件依赖于 gl_loader.h,但不是全部,所以我需要 cmake 在编译其余代码之前(重新)运行 glLoadGen,否则编译会因为尝试编译而停止在 gl_loader.h 构建之前依赖于 gl_loader.h 的文件。我已将 GENERATED 属性添加到 gl_loader.h/.c ,但这并不是该属性旨在解决的问题,而且它不起作用。
在这种情况下,我可以简单地将 OBJECT_DEPENDS 属性添加到我的所有源文件,因为我几乎不需要重新运行 glLoadGen。但在其他情况下,这会导致过多不必要的重新编译,例如当 GObjectBuilder (gob2) 生成多个 C 源文件和头文件时。手动计算出哪些 C 文件依赖于哪个生成的头文件是不切实际的。
在这种情况下,另一种可能性是在配置时而不是构建时运行 glLoadGen,但这不适用于 gob2 的其他场景。
有没有其他方法告诉cmake在编译其他代码之前必须运行glLoadGen?
【问题讨论】:
标签: cmake generated-code build-dependencies