From 710d99ef4d1ba687ed23fa1927e0ebf992c5bcce Mon Sep 17 00:00:00 2001 From: PatTheMav Date: Thu, 8 Aug 2024 21:41:52 +0200 Subject: [PATCH] UI: Improve incremental compile times via explicit file includes When a source file contains an explicit include with a filename following the "moc_.cpp" pattern, then CMake's AUTOMOC generation tool will recognize the matching pair and generate the replacement header file and add the required include directory entries. For all files which do contain Q_OBJECT or similar declarations but do not have an explicit include directive, the global mocs_compilation.cpp file will still be generated (which groups all "missing" generated headers). The larger this global file is, the more expensive incremental compilation will be as this file (and all its contained generated headers) will be re-generated regardless of whether actual changes occurred. --- UI/absolute-slider.cpp | 2 +- UI/adv-audio-control.cpp | 2 +- UI/auth-base.cpp | 2 +- UI/auth-listener.cpp | 2 +- UI/auth-oauth.cpp | 2 +- UI/auth-restream.cpp | 2 +- UI/auth-twitch.cpp | 2 +- UI/auth-youtube.cpp | 2 +- UI/basic-controls.cpp | 2 +- UI/context-bar-controls.cpp | 2 +- UI/focus-list.cpp | 2 +- UI/horizontal-scroll-area.cpp | 2 +- UI/hotkey-edit.cpp | 2 +- UI/lineedit-autoresize.cpp | 2 +- UI/log-viewer.cpp | 2 +- UI/media-controls.cpp | 2 +- UI/menu-button.cpp | 2 +- UI/qt-display.cpp | 2 +- UI/remote-text.cpp | 2 +- UI/scene-tree.cpp | 2 +- UI/source-label.cpp | 2 +- UI/ui-validation.cpp | 2 +- UI/undo-stack-obs.cpp | 2 +- UI/update/mac-update.cpp | 2 +- UI/update/shared-update.cpp | 2 +- UI/url-push-button.cpp | 2 +- UI/visibility-item-widget.cpp | 2 +- UI/volume-control.cpp | 2 +- UI/window-basic-about.cpp | 2 +- UI/window-basic-auto-config.cpp | 2 +- UI/window-basic-interaction.cpp | 2 +- UI/window-basic-preview.cpp | 2 +- UI/window-basic-properties.cpp | 2 +- UI/window-basic-settings.cpp | 2 +- UI/window-basic-source-select.cpp | 2 +- UI/window-basic-stats.cpp | 2 +- UI/window-basic-status-bar.cpp | 2 +- UI/window-basic-vcam-config.cpp | 2 +- UI/window-dock-youtube-app.cpp | 2 +- UI/window-dock.cpp | 2 +- UI/window-extra-browsers.cpp | 2 +- UI/window-importer.cpp | 2 +- UI/window-log-reply.cpp | 2 +- UI/window-missing-files.cpp | 2 +- UI/window-namedialog.cpp | 2 +- UI/window-permissions.cpp | 2 +- UI/window-projector.cpp | 1 + UI/window-remux.cpp | 2 +- UI/window-youtube-actions.cpp | 2 +- UI/youtube-api-wrappers.cpp | 2 +- 50 files changed, 50 insertions(+), 49 deletions(-) diff --git a/UI/absolute-slider.cpp b/UI/absolute-slider.cpp index 7efde7c0f..c3fad5d34 100644 --- a/UI/absolute-slider.cpp +++ b/UI/absolute-slider.cpp @@ -1,4 +1,4 @@ -#include "absolute-slider.hpp" +#include "moc_absolute-slider.cpp" AbsoluteSlider::AbsoluteSlider(QWidget *parent) : SliderIgnoreScroll(parent) { diff --git a/UI/adv-audio-control.cpp b/UI/adv-audio-control.cpp index 1acdecce1..2131419da 100644 --- a/UI/adv-audio-control.cpp +++ b/UI/adv-audio-control.cpp @@ -7,7 +7,7 @@ #include #include #include "obs-app.hpp" -#include "adv-audio-control.hpp" +#include "moc_adv-audio-control.cpp" #include "window-basic-main.hpp" #ifndef NSEC_PER_MSEC diff --git a/UI/auth-base.cpp b/UI/auth-base.cpp index b1a4315fd..157164b48 100644 --- a/UI/auth-base.cpp +++ b/UI/auth-base.cpp @@ -1,4 +1,4 @@ -#include "auth-base.hpp" +#include "moc_auth-base.cpp" #include "window-basic-main.hpp" #include diff --git a/UI/auth-listener.cpp b/UI/auth-listener.cpp index b6c7a9e04..efd637bf2 100644 --- a/UI/auth-listener.cpp +++ b/UI/auth-listener.cpp @@ -1,4 +1,4 @@ -#include +#include "moc_auth-listener.cpp" #include #include diff --git a/UI/auth-oauth.cpp b/UI/auth-oauth.cpp index bb2fd714c..fd4e53845 100644 --- a/UI/auth-oauth.cpp +++ b/UI/auth-oauth.cpp @@ -1,4 +1,4 @@ -#include "auth-oauth.hpp" +#include "moc_auth-oauth.cpp" #include #include diff --git a/UI/auth-restream.cpp b/UI/auth-restream.cpp index bedc10c70..f091016f3 100644 --- a/UI/auth-restream.cpp +++ b/UI/auth-restream.cpp @@ -1,4 +1,4 @@ -#include "auth-restream.hpp" +#include "moc_auth-restream.cpp" #include #include diff --git a/UI/auth-twitch.cpp b/UI/auth-twitch.cpp index 88e14e0be..cc391bc29 100644 --- a/UI/auth-twitch.cpp +++ b/UI/auth-twitch.cpp @@ -1,4 +1,4 @@ -#include "auth-twitch.hpp" +#include "moc_auth-twitch.cpp" #include #include diff --git a/UI/auth-youtube.cpp b/UI/auth-youtube.cpp index d3902da55..ea9c6c7ce 100644 --- a/UI/auth-youtube.cpp +++ b/UI/auth-youtube.cpp @@ -1,4 +1,4 @@ -#include "auth-youtube.hpp" +#include "moc_auth-youtube.cpp" #include #include diff --git a/UI/basic-controls.cpp b/UI/basic-controls.cpp index 0f216a3d5..075ae344f 100644 --- a/UI/basic-controls.cpp +++ b/UI/basic-controls.cpp @@ -1,4 +1,4 @@ -#include "basic-controls.hpp" +#include "moc_basic-controls.cpp" #include "window-basic-main.hpp" diff --git a/UI/context-bar-controls.cpp b/UI/context-bar-controls.cpp index cb4b2f8fc..3bd08d1ac 100644 --- a/UI/context-bar-controls.cpp +++ b/UI/context-bar-controls.cpp @@ -1,5 +1,5 @@ #include "window-basic-main.hpp" -#include "context-bar-controls.hpp" +#include "moc_context-bar-controls.cpp" #include "obs-app.hpp" #include diff --git a/UI/focus-list.cpp b/UI/focus-list.cpp index 9a6e97a87..bfa48f349 100644 --- a/UI/focus-list.cpp +++ b/UI/focus-list.cpp @@ -1,4 +1,4 @@ -#include "focus-list.hpp" +#include "moc_focus-list.cpp" #include FocusList::FocusList(QWidget *parent) : QListWidget(parent) {} diff --git a/UI/horizontal-scroll-area.cpp b/UI/horizontal-scroll-area.cpp index 8f927fc59..82ffc0d28 100644 --- a/UI/horizontal-scroll-area.cpp +++ b/UI/horizontal-scroll-area.cpp @@ -1,5 +1,5 @@ #include -#include "horizontal-scroll-area.hpp" +#include "moc_horizontal-scroll-area.cpp" void HScrollArea::resizeEvent(QResizeEvent *event) { diff --git a/UI/hotkey-edit.cpp b/UI/hotkey-edit.cpp index ebc40361b..63377b781 100644 --- a/UI/hotkey-edit.cpp +++ b/UI/hotkey-edit.cpp @@ -16,7 +16,7 @@ ******************************************************************************/ #include "window-basic-settings.hpp" -#include "hotkey-edit.hpp" +#include "moc_hotkey-edit.cpp" #include #include diff --git a/UI/lineedit-autoresize.cpp b/UI/lineedit-autoresize.cpp index 9ada354ad..166cc6309 100644 --- a/UI/lineedit-autoresize.cpp +++ b/UI/lineedit-autoresize.cpp @@ -1,4 +1,4 @@ -#include "lineedit-autoresize.hpp" +#include "moc_lineedit-autoresize.cpp" LineEditAutoResize::LineEditAutoResize() : m_maxLength(32767) { diff --git a/UI/log-viewer.cpp b/UI/log-viewer.cpp index dedc04f49..322781da1 100644 --- a/UI/log-viewer.cpp +++ b/UI/log-viewer.cpp @@ -10,7 +10,7 @@ #include #include -#include "log-viewer.hpp" +#include "moc_log-viewer.cpp" OBSLogViewer::OBSLogViewer(QWidget *parent) : QDialog(parent), diff --git a/UI/media-controls.cpp b/UI/media-controls.cpp index dadc11d0d..fddc5cbf7 100644 --- a/UI/media-controls.cpp +++ b/UI/media-controls.cpp @@ -1,5 +1,5 @@ #include "window-basic-main.hpp" -#include "media-controls.hpp" +#include "moc_media-controls.cpp" #include "obs-app.hpp" #include #include diff --git a/UI/menu-button.cpp b/UI/menu-button.cpp index c2da16e8f..8c22efcfa 100644 --- a/UI/menu-button.cpp +++ b/UI/menu-button.cpp @@ -1,7 +1,7 @@ #include #include #include -#include "menu-button.hpp" +#include "moc_menu-button.cpp" void MenuButton::keyPressEvent(QKeyEvent *event) { diff --git a/UI/qt-display.cpp b/UI/qt-display.cpp index 136fbc8f3..5941e7b05 100644 --- a/UI/qt-display.cpp +++ b/UI/qt-display.cpp @@ -1,4 +1,4 @@ -#include "qt-display.hpp" +#include "moc_qt-display.cpp" #include "display-helpers.hpp" #include #include diff --git a/UI/remote-text.cpp b/UI/remote-text.cpp index a5c6dd013..d07ec0e51 100644 --- a/UI/remote-text.cpp +++ b/UI/remote-text.cpp @@ -18,7 +18,7 @@ #include #include #include "obs-app.hpp" -#include "remote-text.hpp" +#include "moc_remote-text.cpp" using namespace std; diff --git a/UI/scene-tree.cpp b/UI/scene-tree.cpp index f5386e1e6..a684d7ca1 100644 --- a/UI/scene-tree.cpp +++ b/UI/scene-tree.cpp @@ -1,4 +1,4 @@ -#include "scene-tree.hpp" +#include "moc_scene-tree.cpp" #include #include diff --git a/UI/source-label.cpp b/UI/source-label.cpp index fc83a9878..1abc1fa9a 100644 --- a/UI/source-label.cpp +++ b/UI/source-label.cpp @@ -15,7 +15,7 @@ along with this program. If not, see . ******************************************************************************/ -#include "source-label.hpp" +#include "moc_source-label.cpp" void OBSSourceLabel::SourceRenamed(void *data, calldata_t *params) { diff --git a/UI/ui-validation.cpp b/UI/ui-validation.cpp index e45fd3f74..50f1d7d58 100644 --- a/UI/ui-validation.cpp +++ b/UI/ui-validation.cpp @@ -1,4 +1,4 @@ -#include "ui-validation.hpp" +#include "moc_ui-validation.cpp" #include #include diff --git a/UI/undo-stack-obs.cpp b/UI/undo-stack-obs.cpp index 979ea1765..293252a8b 100644 --- a/UI/undo-stack-obs.cpp +++ b/UI/undo-stack-obs.cpp @@ -1,4 +1,4 @@ -#include "undo-stack-obs.hpp" +#include "moc_undo-stack-obs.cpp" #include diff --git a/UI/update/mac-update.cpp b/UI/update/mac-update.cpp index c6b35b0e0..7ee0c0731 100644 --- a/UI/update/mac-update.cpp +++ b/UI/update/mac-update.cpp @@ -1,6 +1,6 @@ #include "update-helpers.hpp" #include "shared-update.hpp" -#include "mac-update.hpp" +#include "moc_mac-update.cpp" #include "obs-app.hpp" #include diff --git a/UI/update/shared-update.cpp b/UI/update/shared-update.cpp index ef1b0b075..844f85767 100644 --- a/UI/update/shared-update.cpp +++ b/UI/update/shared-update.cpp @@ -1,4 +1,4 @@ -#include "shared-update.hpp" +#include "moc_shared-update.cpp" #include "crypto-helpers.hpp" #include "update-helpers.hpp" #include "obs-app.hpp" diff --git a/UI/url-push-button.cpp b/UI/url-push-button.cpp index 6a2b59847..32c39620d 100644 --- a/UI/url-push-button.cpp +++ b/UI/url-push-button.cpp @@ -1,4 +1,4 @@ -#include "url-push-button.hpp" +#include "moc_url-push-button.cpp" #include #include diff --git a/UI/visibility-item-widget.cpp b/UI/visibility-item-widget.cpp index c310007ed..f229ce8cc 100644 --- a/UI/visibility-item-widget.cpp +++ b/UI/visibility-item-widget.cpp @@ -1,4 +1,4 @@ -#include "visibility-item-widget.hpp" +#include "moc_visibility-item-widget.cpp" #include "obs-app.hpp" #include "source-label.hpp" diff --git a/UI/volume-control.cpp b/UI/volume-control.cpp index 04dde1bc2..db994b3c0 100644 --- a/UI/volume-control.cpp +++ b/UI/volume-control.cpp @@ -1,5 +1,5 @@ #include "window-basic-main.hpp" -#include "volume-control.hpp" +#include "moc_volume-control.cpp" #include "obs-app.hpp" #include "mute-checkbox.hpp" #include "absolute-slider.hpp" diff --git a/UI/window-basic-about.cpp b/UI/window-basic-about.cpp index d5bdc3eed..9cd0d1d72 100644 --- a/UI/window-basic-about.cpp +++ b/UI/window-basic-about.cpp @@ -1,4 +1,4 @@ -#include "window-basic-about.hpp" +#include "moc_window-basic-about.cpp" #include "window-basic-main.hpp" #include "remote-text.hpp" #include diff --git a/UI/window-basic-auto-config.cpp b/UI/window-basic-auto-config.cpp index 555304dae..01c356702 100644 --- a/UI/window-basic-auto-config.cpp +++ b/UI/window-basic-auto-config.cpp @@ -6,7 +6,7 @@ #include -#include "window-basic-auto-config.hpp" +#include "moc_window-basic-auto-config.cpp" #include "window-basic-main.hpp" #include "obs-app.hpp" #include "url-push-button.hpp" diff --git a/UI/window-basic-interaction.cpp b/UI/window-basic-interaction.cpp index 2507d7cc4..716cbf241 100644 --- a/UI/window-basic-interaction.cpp +++ b/UI/window-basic-interaction.cpp @@ -16,7 +16,7 @@ ******************************************************************************/ #include "obs-app.hpp" -#include "window-basic-interaction.hpp" +#include "moc_window-basic-interaction.cpp" #include "window-basic-main.hpp" #include "display-helpers.hpp" diff --git a/UI/window-basic-preview.cpp b/UI/window-basic-preview.cpp index 7d6ced49b..9778169ad 100644 --- a/UI/window-basic-preview.cpp +++ b/UI/window-basic-preview.cpp @@ -6,7 +6,7 @@ #include #include #include -#include "window-basic-preview.hpp" +#include "moc_window-basic-preview.cpp" #include "window-basic-main.hpp" #include "obs-app.hpp" #include "platform.hpp" diff --git a/UI/window-basic-properties.cpp b/UI/window-basic-properties.cpp index 722812265..47703418a 100644 --- a/UI/window-basic-properties.cpp +++ b/UI/window-basic-properties.cpp @@ -16,7 +16,7 @@ ******************************************************************************/ #include "obs-app.hpp" -#include "window-basic-properties.hpp" +#include "moc_window-basic-properties.cpp" #include "window-basic-main.hpp" #include "display-helpers.hpp" diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index e385342d7..b85a53ad6 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -44,7 +44,7 @@ #include "platform.hpp" #include "properties-view.hpp" #include "window-basic-main.hpp" -#include "window-basic-settings.hpp" +#include "moc_window-basic-settings.cpp" #include "window-basic-main-outputs.hpp" #include "window-projector.hpp" diff --git a/UI/window-basic-source-select.cpp b/UI/window-basic-source-select.cpp index b494e5d28..77ebdc7f0 100644 --- a/UI/window-basic-source-select.cpp +++ b/UI/window-basic-source-select.cpp @@ -18,7 +18,7 @@ #include #include #include "window-basic-main.hpp" -#include "window-basic-source-select.hpp" +#include "moc_window-basic-source-select.cpp" #include "obs-app.hpp" struct AddSourceData { diff --git a/UI/window-basic-stats.cpp b/UI/window-basic-stats.cpp index 95ea092ff..ad391f891 100644 --- a/UI/window-basic-stats.cpp +++ b/UI/window-basic-stats.cpp @@ -1,6 +1,6 @@ #include "obs-frontend-api/obs-frontend-api.h" -#include "window-basic-stats.hpp" +#include "moc_window-basic-stats.cpp" #include "window-basic-main.hpp" #include "platform.hpp" #include "obs-app.hpp" diff --git a/UI/window-basic-status-bar.cpp b/UI/window-basic-status-bar.cpp index 9ec29190a..04d1237d4 100644 --- a/UI/window-basic-status-bar.cpp +++ b/UI/window-basic-status-bar.cpp @@ -2,7 +2,7 @@ #include #include "obs-app.hpp" #include "window-basic-main.hpp" -#include "window-basic-status-bar.hpp" +#include "moc_window-basic-status-bar.cpp" #include "window-basic-main-outputs.hpp" #include "qt-wrappers.hpp" #include "platform.hpp" diff --git a/UI/window-basic-vcam-config.cpp b/UI/window-basic-vcam-config.cpp index e8249967d..86d7d4f58 100644 --- a/UI/window-basic-vcam-config.cpp +++ b/UI/window-basic-vcam-config.cpp @@ -1,4 +1,4 @@ -#include "window-basic-vcam-config.hpp" +#include "moc_window-basic-vcam-config.cpp" #include "window-basic-main.hpp" #include diff --git a/UI/window-dock-youtube-app.cpp b/UI/window-dock-youtube-app.cpp index 79835bbc6..498a68a05 100644 --- a/UI/window-dock-youtube-app.cpp +++ b/UI/window-dock-youtube-app.cpp @@ -2,7 +2,7 @@ #include "window-basic-main.hpp" #include "youtube-api-wrappers.hpp" -#include "window-dock-youtube-app.hpp" +#include "moc_window-dock-youtube-app.cpp" #include "ui-config.h" #include "qt-wrappers.hpp" diff --git a/UI/window-dock.cpp b/UI/window-dock.cpp index a057add5b..7e2aeff89 100644 --- a/UI/window-dock.cpp +++ b/UI/window-dock.cpp @@ -1,4 +1,4 @@ -#include "window-dock.hpp" +#include "moc_window-dock.cpp" #include "obs-app.hpp" #include "window-basic-main.hpp" diff --git a/UI/window-extra-browsers.cpp b/UI/window-extra-browsers.cpp index ecfe0766f..e9b7265b6 100644 --- a/UI/window-extra-browsers.cpp +++ b/UI/window-extra-browsers.cpp @@ -1,4 +1,4 @@ -#include "window-extra-browsers.hpp" +#include "moc_window-extra-browsers.cpp" #include "window-dock-browser.hpp" #include "window-basic-main.hpp" diff --git a/UI/window-importer.cpp b/UI/window-importer.cpp index c5aa05c9f..61508a2ac 100644 --- a/UI/window-importer.cpp +++ b/UI/window-importer.cpp @@ -15,7 +15,7 @@ along with this program. If not, see . ******************************************************************************/ -#include "window-importer.hpp" +#include "moc_window-importer.cpp" #include "obs-app.hpp" diff --git a/UI/window-log-reply.cpp b/UI/window-log-reply.cpp index 0972bb228..0f7130586 100644 --- a/UI/window-log-reply.cpp +++ b/UI/window-log-reply.cpp @@ -19,7 +19,7 @@ #include #include #include -#include "window-log-reply.hpp" +#include "moc_window-log-reply.cpp" #include "obs-app.hpp" OBSLogReply::OBSLogReply(QWidget *parent, const QString &url, const bool crash) diff --git a/UI/window-missing-files.cpp b/UI/window-missing-files.cpp index 01eb2977e..0fbaf9497 100644 --- a/UI/window-missing-files.cpp +++ b/UI/window-missing-files.cpp @@ -15,7 +15,7 @@ along with this program. If not, see . ******************************************************************************/ -#include "window-missing-files.hpp" +#include "moc_window-missing-files.cpp" #include "window-basic-main.hpp" #include "obs-app.hpp" diff --git a/UI/window-namedialog.cpp b/UI/window-namedialog.cpp index 86e54aefe..c2fd69e66 100644 --- a/UI/window-namedialog.cpp +++ b/UI/window-namedialog.cpp @@ -15,7 +15,7 @@ along with this program. If not, see . ******************************************************************************/ -#include "window-namedialog.hpp" +#include "moc_window-namedialog.cpp" #include "obs-app.hpp" #include diff --git a/UI/window-permissions.cpp b/UI/window-permissions.cpp index 8fb8766ea..eabea1b15 100644 --- a/UI/window-permissions.cpp +++ b/UI/window-permissions.cpp @@ -16,7 +16,7 @@ ******************************************************************************/ #include -#include "window-permissions.hpp" +#include "moc_window-permissions.cpp" #include "obs-app.hpp" OBSPermissions::OBSPermissions(QWidget *parent, MacPermissionStatus capture, diff --git a/UI/window-projector.cpp b/UI/window-projector.cpp index d5322f547..cf0d57b97 100644 --- a/UI/window-projector.cpp +++ b/UI/window-projector.cpp @@ -4,6 +4,7 @@ #include #include #include +#include "moc_window-projector.cpp" #include "obs-app.hpp" #include "window-basic-main.hpp" #include "display-helpers.hpp" diff --git a/UI/window-remux.cpp b/UI/window-remux.cpp index 410ab83d9..5872c1ad2 100644 --- a/UI/window-remux.cpp +++ b/UI/window-remux.cpp @@ -15,7 +15,7 @@ along with this program. If not, see . ******************************************************************************/ -#include "window-remux.hpp" +#include "moc_window-remux.cpp" #include "obs-app.hpp" diff --git a/UI/window-youtube-actions.cpp b/UI/window-youtube-actions.cpp index a76ce4989..e2d1926df 100644 --- a/UI/window-youtube-actions.cpp +++ b/UI/window-youtube-actions.cpp @@ -1,5 +1,5 @@ #include "window-basic-main.hpp" -#include "window-youtube-actions.hpp" +#include "moc_window-youtube-actions.cpp" #include "obs-app.hpp" #include "youtube-api-wrappers.hpp" diff --git a/UI/youtube-api-wrappers.cpp b/UI/youtube-api-wrappers.cpp index 83e6a4899..346dabf32 100644 --- a/UI/youtube-api-wrappers.cpp +++ b/UI/youtube-api-wrappers.cpp @@ -1,4 +1,4 @@ -#include "youtube-api-wrappers.hpp" +#include "moc_youtube-api-wrappers.cpp" #include #include