AUTOMOC.rst 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. AUTOMOC
  2. -------
  3. Should the target be processed with automoc (for Qt projects).
  4. AUTOMOC is a boolean specifying whether CMake will handle the Qt moc
  5. preprocessor automatically, i.e. without having to use the
  6. QT4_WRAP_CPP() or QT5_WRAP_CPP() macro. Currently Qt4 and Qt5 are
  7. supported. When this property is set to TRUE, CMake will scan the
  8. source files at build time and invoke moc accordingly. If an #include
  9. statement like #include "moc_foo.cpp" is found, the Q_OBJECT class
  10. declaration is expected in the header, and moc is run on the header
  11. file. If an #include statement like #include "foo.moc" is found, then
  12. a Q_OBJECT is expected in the current source file and moc is run on
  13. the file itself. Additionally, all header files are parsed for
  14. Q_OBJECT macros, and if found, moc is also executed on those files.
  15. The resulting moc files, which are not included as shown above in any
  16. of the source files are included in a generated
  17. <targetname>_automoc.cpp file, which is compiled as part of the
  18. target.This property is initialized by the value of the variable
  19. CMAKE_AUTOMOC if it is set when a target is created.
  20. Additional command line options for moc can be set via the
  21. AUTOMOC_MOC_OPTIONS property.
  22. By setting the CMAKE_AUTOMOC_RELAXED_MODE variable to TRUE the rules
  23. for searching the files which will be processed by moc can be relaxed.
  24. See the documentation for this variable for more details.
  25. The global property AUTOMOC_TARGETS_FOLDER can be used to group the
  26. automoc targets together in an IDE, e.g. in MSVS.