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