cmake-qt AUTOMOC

55 篇文章 0 订阅
15 篇文章 2 订阅

AUTOMOC 目标属性控制是否检查目标中的 C++ 文件以确定它们是否需要运行 moc,并创建规则以在适当的时间执行 moc。

如果在头文件中找到来自AUTOMOC_MACRO_NAMES 的宏,就会对该头文件执行moc。结果将被放入一个moc_<basename>.cpp 这样的文件中。

如果在 C++ 实现文件中找到宏,遵照Qt约定, moc 输出将放入 <basename>.moc 这样的文件中。

<basename>.moc必须由#include 包含在 C++ 实现文件中。

包含的 moc_*.cpp*.moc 文件将在 <AUTOGEN_BUILD_DIR>/include 目录中生成,该目录会自动添加到目标的 INCLUDE_DIRECTORIES 中。

未包含的 moc_<basename>.cpp 文件将在自定义文件夹中生成以避免名称冲突,并包含到一个单独的文件,这个单独的文件会被编译进目标文件。这个单独的文件命名为:AUTOGEN_BUILD_DIR>/mocs_compilation.cpp或者<AUTOGEN_BUILD_DIR>/mocs_compilation_$<CONFIG>.cpp

moc 命令行将使用调用它的目标的COMPILE_DEFINITIONS属性 和 INCLUDE_DIRECTORIES属性,以及适当的构建配置。

可以通过设置 CMAKE_AUTOMOC 变量为所有随后的目标预先设置 AUTOMOC 目标属性。填充 AUTOMOC_MOC_OPTIONS 目标属性以设置传递给 moc 的选项。填充 CMAKE_AUTOMOC_MOC_OPTIONS 变量以预先设置所有随后目标的选项。

可以将要搜索的其他宏名称添加到 AUTOMOC_MACRO_NAMES

可以使用 AUTOMOC_DEPEND_FILTERS 从源代码中提取 moc 所依赖的其他文件名。

可以从 AUTOMOC 处理过程中排除 C++ 源文件,通过启用 SKIP_AUTOMOC 或更广泛的 SKIP_AUTOGEN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值