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