AUTOMOC_MOC_OPTIONS¶
对 moc
的其他选项,当使用 AUTOMOC
时
仅对该目标的 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