summaryrefslogtreecommitdiffstats
path: root/cmake/QtAutogenHelpers.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Long live Q_GADGET_EXPORT!Marc Mutz2021-11-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | Like Q_NAMESPACE_EXPORT for Q_NAMESPACE, this variant of Q_GADGET allows passing an export macro. This is useful to avoid exporting the whole class just to get the staticMetaObject hidden therein exported. Before anyone asks: No, we don't need Q_OBJECT_EXPORT, because QObject subclasses, being polymorphic, always need to have a class-level export macro (to export their vtable), but while that technique also works for value classes (the Q_GADGET audience), it is not desirable for them, because it makes inline functions exported in Windows debug builds, which is not what we want, because it needlessly restricts what you can to with the inline functions (e.g. remove). [ChangeLog][QtCore] Added the Q_GADGET_EXPORT macro, which is like Q_GADGET, but allows passing an export macro (like Q_NAMESPACE_EXPORT for Q_NAMESPACE). Fixes: QTBUG-55458 Change-Id: I546297de1e8aa45d83381991bcd3fbca61e1eef0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Add framework paths when generating moc manuallyAlexey Edelev2021-02-051-0/+20
| | | | | | | | | | | In apple systems it's necessary to pass the framework paths to the moc generator to resolve required header files. We need to collect framework paths for all INCLUDE_DIRECTORY_TARGETS and add them to the command line of the moc generator. Task-number: QTBUG-84906 Change-Id: I9e6356e7e0a5f2493823ec764a48b0b8f1c8c10d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add arguments to 'qt_manual_moc' to resolve 'moc' includesAlexey Edelev2021-01-201-1/+19
| | | | | | | | | | | | | | 'qt_manual_moc' doesn't provide include paths for 'moc' command to substitute required macros. This change adds the 'INCLUDE_DIRECTORIES' and 'INCLUDE_DIRECTORY_TARGETS' arguments to the 'qt_manual_moc' function. If 'INCLUDE_DIRECTORY_TARGETS' is specified, 'qt_manual_moc' collects 'INTERFACE_INCLUDE_DIRECTORIES' of provided targets and uses them as the 'moc' include directories. Change-Id: I58c8887dae3ca2484574c5e12e2cbd47f5bd3648 Reviewed-by: Craig Scott <craig.scott@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Split QtBuild.cmake into smaller filesAlexandru Croitor2020-08-141-0/+142
QtBuild.cmake is huge. Split it. Move module, plugin, tools, executables and test related functions out of QtBuild.cmake into separate files. Do the same for many other things too. An additional requirement is that all the new Helpers files only define functions and macros. No global variable definitions are allowed, nor execution of commands with side effects. Some notes: qt_install_qml_files is removed because it's dead code. Some functions still need to be figured out, because they are interspersed and depend on various global state assignments. Task-number: QTBUG-86035 Change-Id: I21d79ff02eef923c202eb1000422888727cb0e2c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>