AUTOMOC_MOC_OPTIONS

使用 AUTOMOCmoc 的附加选项

仅当此目标的 AUTOMOC 属性为 ON 时,才使用此属性。 在这种情况下,它包含在构建期间执行 moc 时将使用的附加命令行选项,即它等效于 qt4_wrap_cpp() 宏的可选 OPTIONS 参数。

如果创建目标时设置了 CMAKE_AUTOMOC_MOC_OPTIONS 变量,则此属性由此变量的值初始化;否则,初始化为空字符串。

有关将 CMake 与 Qt 结合使用的更多信息,请参阅 cmake-qt(7) 手册。

示例

在此示例中,当为 object.cpp 生成 moc 文件时,将使用 -D_EXTRA_DEFINE 选项调用 moc 工具。

CMakeLists.txt
add_executable(mocOptions object.cpp main.cpp)
set_property(TARGET mocOptions PROPERTY AUTOMOC ON)
target_compile_options(mocOptions PRIVATE "-D_EXTRA_DEFINE")
set_property(TARGET mocOptions PROPERTY AUTOMOC_MOC_OPTIONS "-D_EXTRA_DEFINE")
target_link_libraries(mocOptions Qt6::Core)
object.hpp
#ifndef Object_HPP
#define Object_HPP

#include <QObject>

#ifdef _EXTRA_DEFINE
class Object : public QObject
{
Q_OBJECT
public:

  Object();

};
#endif

#endif