首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMake 3.9现在在Visual中创建"autogen“项目?

CMake 3.9现在在Visual中创建"autogen“项目?
EN

Stack Overflow用户
提问于 2017-08-18 19:45:27
回答 3查看 2.7K关注 0票数 19

我们使用的是CMake、Qt和。通过将AUTOMOC ON传递给add_library,我们的许多项目被配置为运行automoc。

我们最近更新为CMake 3.9.1,Visual现在为每个自动代码库显示了一个额外的项目。例如,我们现在有一个“核心”项目和一个"Core_autogen“项目。

(这发生在VS2015和VS2017以及QT5.8和5.9.1中)

这有一些恼人的后果:

  • 几乎是项目数量的两倍,增加了大量的视觉混乱。
  • 当通过UI构建单个项目时,Automoc不再运行,这会导致在调试特定项目的构建问题时出现微妙的错误。

有没有人知道有什么方法可以恢复autogen以前的CMake行为?

或者,如果不这样做,至少可以减少autogen项目的视觉混乱?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-29 22:41:49

这是一个回归,应该在CMake 3.10中修复。CMake bug报告在这里:https://gitlab.kitware.com/cmake/cmake/issues/17205

票数 3
EN

Stack Overflow用户

发布于 2017-08-23 17:27:00

根据CMake v3.9文档,您可以使用迪尔将生成的文件移动到不同的文件夹。

默认情况下,CMake使用<dir>/<target-name>_autogen,其中:

<dir>迪尔<target-name>名字

或者从AUTOMOC属性中可以使用:

全局属性文件夹可用于将自动化目标分组在一个集成集成环境中,例如在MSVS中。 全局属性可用于在IDE中将AUTOMOC生成的文件分组,例如在MSVS中。

希望这能有所帮助。

票数 7
EN

Stack Overflow用户

发布于 2017-08-29 13:20:20

这将在一个文件夹中收集所有autogen项目:

代码语言:javascript
复制
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER AutoMoc)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45764036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档