diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2019-01-22 10:00:34 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2019-01-25 14:33:26 +0000 |
commit | e2ff9e3b9957f844d6530cc92096bed3c16fa46a (patch) | |
tree | 1abe90bac9e6d0d01c205ea4f55f6463b35109fc /src | |
parent | 0690c145db99da66dd3e2dc936848862661a161b (diff) |
CMake: Introduce Q_OBJECT qdoc macro
CMake's moc file scanning is rather primitive: It will run moc on any
file containing a line that starts with Q_OBJECT (and similar macros).
We have four files in QtBase that contain such a macro at the start
of the line in a qdoc comment. These four files were excluded from
automatic moc handling by cmake, which is not ideal, since this will
silently fail when somebody actually adds a Q_OBJECT macro in code.
This patch introduces a macro Q_OBJECT for qdoc. This macro will be
replaced with Q_OBJECT in the generated documentation. While not nice,
at least a failure to use \Q_OBJECT is noticeable: Moc will warn about
the file.
Change-Id: I829893c1166eee306fe30058d4ea0256affd45ea
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/corelib/tools/qsharedpointer.cpp | 2 | ||||
-rw-r--r-- | src/gui/CMakeLists.txt | 9 | ||||
-rw-r--r-- | src/gui/opengl/qopenglfunctions.cpp | 2 | ||||
-rw-r--r-- | src/network/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/opengl/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/opengl/qglfunctions.cpp | 2 | ||||
-rw-r--r-- | src/opengl/qgraphicsshadereffect.cpp | 2 |
8 files changed, 4 insertions, 30 deletions
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index 26292a7c75..a847d07ade 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -260,9 +260,6 @@ target_include_directories(Core_qobject PRIVATE target_link_libraries(Core_qobject PRIVATE Qt::Platform Qt::GlobalConfig) target_link_libraries(Core PRIVATE Core_qobject) -# Comments trigger moc for these, so skip automoc: -set_source_files_properties(tools/qsharedpointer.cpp PROPERTIES SKIP_AUTOMOC ON) - set_property(TARGET Core APPEND PROPERTY PUBLIC_HEADER "${CMAKE_CURRENT_BINARY_DIR}/global/qconfig.h") set_property(TARGET Core APPEND PROPERTY PRIVATE_HEADER "${CMAKE_CURRENT_BINARY_DIR}/global/qconfig_p.h") diff --git a/src/corelib/tools/qsharedpointer.cpp b/src/corelib/tools/qsharedpointer.cpp index 2d5fd2a00e..be8b6a7aab 100644 --- a/src/corelib/tools/qsharedpointer.cpp +++ b/src/corelib/tools/qsharedpointer.cpp @@ -414,7 +414,7 @@ \code class ScriptInterface : public QObject { - Q_OBJECT + \Q_OBJECT // ... diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 81ef8b1b66..60b5dec2df 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -233,15 +233,6 @@ add_qt_module(Gui Qt::Core ) -set_source_files_properties( - # Comment triggering moc: - opengl/qopenglfunctions.cpp - PROPERTIES - SKIP_AUTOMOC ON - SKIP_AUTOUIC ON - SKIP_AUTORCC ON) - - ## Scopes: ##################################################################### diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index 4f48604a88..700fb77ad7 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -93,7 +93,7 @@ void CLASS::init(QOpenGLContext *context) \ \code class MyGLWindow : public QWindow, protected QOpenGLFunctions { - Q_OBJECT + \Q_OBJECT public: MyGLWindow(QScreen *screen = 0); diff --git a/src/network/CMakeLists.txt b/src/network/CMakeLists.txt index 48ae64bb28..fd684c7eb2 100644 --- a/src/network/CMakeLists.txt +++ b/src/network/CMakeLists.txt @@ -58,14 +58,6 @@ add_qt_module(Network Qt::CorePrivate ) -set_source_files_properties( - # Comment triggering moc: - access/qnetworkaccessdebugpipebackend_p.h - PROPERTIES - SKIP_AUTOMOC ON - SKIP_AUTOUIC ON - SKIP_AUTORCC ON) - ## Scopes: ##################################################################### diff --git a/src/opengl/CMakeLists.txt b/src/opengl/CMakeLists.txt index 14750f3a3f..f67fea4d16 100644 --- a/src/opengl/CMakeLists.txt +++ b/src/opengl/CMakeLists.txt @@ -31,12 +31,6 @@ add_qt_module(OpenGL Qt::GuiPrivate Qt::WidgetsPrivate ) -set_source_files_properties(qglfunctions.cpp qgraphicsshadereffect.cpp PROPERTIES - SKIP_AUTOMOC ON - SKIP_AUTOUIC ON - SKIP_AUTORCC ON -) - ## Scopes: ##################################################################### diff --git a/src/opengl/qglfunctions.cpp b/src/opengl/qglfunctions.cpp index 07e1194342..aa1854dd3d 100644 --- a/src/opengl/qglfunctions.cpp +++ b/src/opengl/qglfunctions.cpp @@ -65,7 +65,7 @@ QT_BEGIN_NAMESPACE \code class MyGLWidget : public QGLWidget, protected QGLFunctions { - Q_OBJECT + \Q_OBJECT public: MyGLWidget(QWidget *parent = 0) : QGLWidget(parent) {} diff --git a/src/opengl/qgraphicsshadereffect.cpp b/src/opengl/qgraphicsshadereffect.cpp index cf3d307d71..4959c804b8 100644 --- a/src/opengl/qgraphicsshadereffect.cpp +++ b/src/opengl/qgraphicsshadereffect.cpp @@ -87,7 +87,7 @@ QT_BEGIN_NAMESPACE \code class ColorizeEffect : public QGraphicsShaderEffect { - Q_OBJECT + \Q_OBJECT public: ColorizeEffect(QObject *parent = 0) : QGraphicsShaderEffect(parent), color(Qt::black) |