aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergio Martins <smartins@kde.org>2018-05-15 22:14:50 +0100
committerSergio Martins <smartins@kde.org>2018-05-15 22:52:15 +0100
commitdcac97b866c83d6645e3bc4af1f42b255f81d9a3 (patch)
tree02b8f6ba3279fd6df932d8bec8f2125052a919c0
parentfa6f5d8e206eca0823cfa5030abb5c824f7685ac (diff)
Make it easier to link to READMEs by removing the level name.
After make install they will still be installed to a level0, 1, 2 sub-folder, as the cmake instructions are generated by generate.py BUG: 394237
-rw-r--r--CMakeLists.txt8
-rw-r--r--README.md150
-rwxr-xr-xdev-scripts/generate.py46
-rw-r--r--docs/checks/README-assert-with-side-effects.md (renamed from src/checks/level3/README-assert-with-side-effects.md)0
-rw-r--r--docs/checks/README-auto-unexpected-qstringbuilder.md (renamed from src/checks/level1/README-auto-unexpected-qstringbuilder.md)0
-rw-r--r--docs/checks/README-base-class-event.md (renamed from src/checks/level2/README-base-class-event.md)0
-rw-r--r--docs/checks/README-child-event-qobject-cast.md (renamed from src/checks/level1/README-child-event-qobject-cast.md)0
-rw-r--r--docs/checks/README-connect-3arg-lambda.md (renamed from src/checks/level1/README-connect-3arg-lambda.md)0
-rw-r--r--docs/checks/README-connect-by-name.md (renamed from src/checks/level0/README-connect-by-name.md)0
-rw-r--r--docs/checks/README-connect-non-signal.md (renamed from src/checks/level0/README-connect-non-signal.md)0
-rw-r--r--docs/checks/README-connect-not-normalized.md (renamed from src/checks/level0/README-connect-not-normalized.md)0
-rw-r--r--docs/checks/README-const-signal-or-slot.md (renamed from src/checks/level1/README-const-signal-or-slot.md)0
-rw-r--r--docs/checks/README-container-anti-pattern.md (renamed from src/checks/level0/README-container-anti-pattern.md)0
-rw-r--r--docs/checks/README-container-inside-loop.md (renamed from src/checks/manuallevel/README-container-inside-loop.md)0
-rw-r--r--docs/checks/README-copyable-polymorphic.md (renamed from src/checks/level2/README-copyable-polymorphic.md)0
-rw-r--r--docs/checks/README-ctor-missing-parent-argument.md (renamed from src/checks/level2/README-ctor-missing-parent-argument.md)0
-rw-r--r--docs/checks/README-detaching-member.md (renamed from src/checks/level3/README-detaching-member.md)0
-rw-r--r--docs/checks/README-detaching-temporary.md (renamed from src/checks/level1/README-detaching-temporary.md)0
-rw-r--r--docs/checks/README-foreach.md (renamed from src/checks/level1/README-foreach.md)0
-rw-r--r--docs/checks/README-fully-qualified-moc-types.md (renamed from src/checks/level0/README-fully-qualified-moc-types.md)0
-rw-r--r--docs/checks/README-function-args-by-ref.md (renamed from src/checks/level2/README-function-args-by-ref.md)0
-rw-r--r--docs/checks/README-function-args-by-value.md (renamed from src/checks/level2/README-function-args-by-value.md)0
-rw-r--r--docs/checks/README-global-const-char-pointer.md (renamed from src/checks/level2/README-global-const-char-pointer.md)0
-rw-r--r--docs/checks/README-implicit-casts.md (renamed from src/checks/level2/README-implicit-casts.md)0
-rw-r--r--docs/checks/README-incorrect-emit.md (renamed from src/checks/level1/README-incorrect-emit.md)0
-rw-r--r--docs/checks/README-inefficient-qlist-soft.md (renamed from src/checks/level1/README-inefficient-qlist-soft.md)0
-rw-r--r--docs/checks/README-inefficient-qlist.md (renamed from src/checks/manuallevel/README-inefficient-qlist.md)0
-rw-r--r--docs/checks/README-install-event-filter.md (renamed from src/checks/level1/README-install-event-filter.md)0
-rw-r--r--docs/checks/README-isempty-vs-count.md (renamed from src/checks/manuallevel/README-isempty-vs-count.md)0
-rw-r--r--docs/checks/README-lambda-in-connect.md (renamed from src/checks/level0/README-lambda-in-connect.md)0
-rw-r--r--docs/checks/README-lambda-unique-connection.md (renamed from src/checks/level0/README-lambda-unique-connection.md)0
-rw-r--r--docs/checks/README-missing-qobject-macro.md (renamed from src/checks/level2/README-missing-qobject-macro.md)0
-rw-r--r--docs/checks/README-missing-typeinfo.md (renamed from src/checks/level2/README-missing-typeinfo.md)0
-rw-r--r--docs/checks/README-mutable-container-key.md (renamed from src/checks/level0/README-mutable-container-key.md)0
-rw-r--r--docs/checks/README-non-pod-global-static.md (renamed from src/checks/level1/README-non-pod-global-static.md)0
-rw-r--r--docs/checks/README-old-style-connect.md (renamed from src/checks/level2/README-old-style-connect.md)0
-rw-r--r--docs/checks/README-overridden-signal.md (renamed from src/checks/level1/README-overridden-signal.md)0
-rw-r--r--docs/checks/README-post-event.md (renamed from src/checks/level1/README-post-event.md)0
-rw-r--r--docs/checks/README-qcolor-from-literal.md (renamed from src/checks/level0/README-qcolor-from-literal.md)0
-rw-r--r--docs/checks/README-qdatetime-utc.md (renamed from src/checks/level0/README-qdatetime-utc.md)0
-rw-r--r--docs/checks/README-qdeleteall.md (renamed from src/checks/level1/README-qdeleteall.md)0
-rw-r--r--docs/checks/README-qenums.md (renamed from src/checks/level0/README-qenums.md)0
-rw-r--r--docs/checks/README-qfileinfo-exists.md (renamed from src/checks/level0/README-qfileinfo-exists.md)0
-rw-r--r--docs/checks/README-qgetenv.md (renamed from src/checks/level0/README-qgetenv.md)0
-rw-r--r--docs/checks/README-qhash-namespace.md (renamed from src/checks/level1/README-qhash-namespace.md)0
-rw-r--r--docs/checks/README-qhash-with-char-pointer-key.md (renamed from src/checks/manuallevel/README-qhash-with-char-pointer-key.md)0
-rw-r--r--docs/checks/README-qlatin1string-non-ascii.md (renamed from src/checks/level1/README-qlatin1string-non-ascii.md)0
-rw-r--r--docs/checks/README-qmap-with-pointer-key.md (renamed from src/checks/level0/README-qmap-with-pointer-key.md)0
-rw-r--r--docs/checks/README-qproperty-without-notify.md (renamed from src/checks/level1/README-qproperty-without-notify.md)0
-rw-r--r--docs/checks/README-qstring-allocations.md (renamed from src/checks/level2/README-qstring-allocations.md)0
-rw-r--r--docs/checks/README-qstring-arg.md (renamed from src/checks/level0/README-qstring-arg.md)0
-rw-r--r--docs/checks/README-qstring-insensitive-allocation.md (renamed from src/checks/level0/README-qstring-insensitive-allocation.md)0
-rw-r--r--docs/checks/README-qstring-left.md (renamed from src/checks/level1/README-qstring-left.md)0
-rw-r--r--docs/checks/README-qstring-ref.md (renamed from src/checks/level0/README-qstring-ref.md)0
-rw-r--r--docs/checks/README-qstring-varargs.md (renamed from src/checks/manuallevel/README-qstring-varargs.md)0
-rw-r--r--docs/checks/README-qt-keywords.md (renamed from src/checks/manuallevel/README-qt-keywords.md)0
-rw-r--r--docs/checks/README-qt-macros.md (renamed from src/checks/level0/README-qt-macros.md)0
-rw-r--r--docs/checks/README-qt4-qstring-from-array.md (renamed from src/checks/manuallevel/README-qt4-qstring-from-array.md)0
-rw-r--r--docs/checks/README-qvariant-template-instantiation.md (renamed from src/checks/level0/README-qvariant-template-instantiation.md)0
-rw-r--r--docs/checks/README-range-loop.md (renamed from src/checks/level1/README-range-loop.md)0
-rw-r--r--docs/checks/README-reserve-candidates.md (renamed from src/checks/level3/README-reserve-candidates.md)0
-rw-r--r--docs/checks/README-returning-data-from-temporary.md (renamed from src/checks/level1/README-returning-data-from-temporary.md)0
-rw-r--r--docs/checks/README-returning-void-expression.md (renamed from src/checks/level2/README-returning-void-expression.md)0
-rw-r--r--docs/checks/README-rule-of-three.md (renamed from src/checks/level2/README-rule-of-three.md)0
-rw-r--r--docs/checks/README-rule-of-two-soft.md (renamed from src/checks/level1/README-rule-of-two-soft.md)0
-rw-r--r--docs/checks/README-skipped-base-method.md (renamed from src/checks/level1/README-skipped-base-method.md)0
-rw-r--r--docs/checks/README-static-pmf.md (renamed from src/checks/level2/README-static-pmf.md)0
-rw-r--r--docs/checks/README-strict-iterators.md (renamed from src/checks/level0/README-strict-iterators.md)0
-rw-r--r--docs/checks/README-temporary-iterator.md (renamed from src/checks/level0/README-temporary-iterator.md)0
-rw-r--r--docs/checks/README-thread-with-slots.md (renamed from src/checks/level3/README-thread-with-slots.md)0
-rw-r--r--docs/checks/README-tr-non-literal.md (renamed from src/checks/manuallevel/README-tr-non-literal.md)0
-rw-r--r--docs/checks/README-unneeded-cast.md (renamed from src/checks/manuallevel/README-unneeded-cast.md)0
-rw-r--r--docs/checks/README-unused-non-trivial-variable.md (renamed from src/checks/level0/README-unused-non-trivial-variable.md)0
-rw-r--r--docs/checks/README-virtual-call-ctor.md (renamed from src/checks/level2/README-virtual-call-ctor.md)0
-rw-r--r--docs/checks/README-virtual-signal.md (renamed from src/checks/level1/README-virtual-signal.md)0
-rw-r--r--docs/checks/README-writing-to-temporary.md (renamed from src/checks/level0/README-writing-to-temporary.md)0
-rw-r--r--docs/checks/README-wrong-qevent-cast.md (renamed from src/checks/level0/README-wrong-qevent-cast.md)0
-rw-r--r--docs/checks/README-wrong-qglobalstatic.md (renamed from src/checks/level0/README-wrong-qglobalstatic.md)0
-rw-r--r--readmes.cmake90
79 files changed, 210 insertions, 84 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac2fda26..20a04e9f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -193,11 +193,9 @@ if (NOT CLAZY_BUILD_WITH_CLANG)
# Install the explanation README's
set(DOC_INSTALL_DIR ${SHARE_INSTALL_DIR}/clazy/doc)
- file(GLOB README_LEVEL0_FILES src/checks/level0/README-*)
- file(GLOB README_LEVEL1_FILES src/checks/level1/README-*)
- file(GLOB README_LEVEL2_FILES src/checks/level2/README-*)
- file(GLOB README_LEVEL3_FILES src/checks/level3/README-*)
- file(GLOB README_manuallevel_FILES src/checks/manuallevel/README-*)
+
+ include(${CMAKE_CURRENT_LIST_DIR}/readmes.cmake)
+
install(FILES ${README_LEVEL0_FILES} DESTINATION ${DOC_INSTALL_DIR}/level0)
install(FILES ${README_LEVEL1_FILES} DESTINATION ${DOC_INSTALL_DIR}/level1)
install(FILES ${README_LEVEL2_FILES} DESTINATION ${DOC_INSTALL_DIR}/level2)
diff --git a/README.md b/README.md
index eb7a2e3e..91f28a69 100644
--- a/README.md
+++ b/README.md
@@ -216,89 +216,89 @@ There are many checks and they are divided in levels:
clazy runs all checks from level1 by default.
- Checks from Manual Level:
- - [container-inside-loop](src/checks/manuallevel/README-container-inside-loop.md)
- - [inefficient-qlist](src/checks/manuallevel/README-inefficient-qlist.md)
- - [isempty-vs-count](src/checks/manuallevel/README-isempty-vs-count.md)
- - [qhash-with-char-pointer-key](src/checks/manuallevel/README-qhash-with-char-pointer-key.md)
- - [qstring-varargs](src/checks/manuallevel/README-qstring-varargs.md)
- - [qt-keywords](src/checks/manuallevel/README-qt-keywords.md) (fix-qt-keywords)
- - [qt4-qstring-from-array](src/checks/manuallevel/README-qt4-qstring-from-array.md) (fix-qt4-qstring-from-array)
- - [tr-non-literal](src/checks/manuallevel/README-tr-non-literal.md)
- - [unneeded-cast](src/checks/manuallevel/README-unneeded-cast.md)
+ - [container-inside-loop](docs/checks/README-container-inside-loop.md)
+ - [inefficient-qlist](docs/checks/README-inefficient-qlist.md)
+ - [isempty-vs-count](docs/checks/README-isempty-vs-count.md)
+ - [qhash-with-char-pointer-key](docs/checks/README-qhash-with-char-pointer-key.md)
+ - [qstring-varargs](docs/checks/README-qstring-varargs.md)
+ - [qt-keywords](docs/checks/README-qt-keywords.md) (fix-qt-keywords)
+ - [qt4-qstring-from-array](docs/checks/README-qt4-qstring-from-array.md) (fix-qt4-qstring-from-array)
+ - [tr-non-literal](docs/checks/README-tr-non-literal.md)
+ - [unneeded-cast](docs/checks/README-unneeded-cast.md)
- Checks from Level 0:
- - [connect-by-name](src/checks/level0/README-connect-by-name.md)
- - [connect-non-signal](src/checks/level0/README-connect-non-signal.md)
- - [connect-not-normalized](src/checks/level0/README-connect-not-normalized.md)
- - [container-anti-pattern](src/checks/level0/README-container-anti-pattern.md)
- - [fully-qualified-moc-types](src/checks/level0/README-fully-qualified-moc-types.md)
- - [lambda-in-connect](src/checks/level0/README-lambda-in-connect.md)
- - [lambda-unique-connection](src/checks/level0/README-lambda-unique-connection.md)
- - [mutable-container-key](src/checks/level0/README-mutable-container-key.md)
- - [qcolor-from-literal](src/checks/level0/README-qcolor-from-literal.md)
- - [qdatetime-utc](src/checks/level0/README-qdatetime-utc.md) (fix-qdatetime-utc)
- - [qenums](src/checks/level0/README-qenums.md)
- - [qfileinfo-exists](src/checks/level0/README-qfileinfo-exists.md)
- - [qgetenv](src/checks/level0/README-qgetenv.md) (fix-qgetenv)
- - [qmap-with-pointer-key](src/checks/level0/README-qmap-with-pointer-key.md)
- - [qstring-arg](src/checks/level0/README-qstring-arg.md)
- - [qstring-insensitive-allocation](src/checks/level0/README-qstring-insensitive-allocation.md)
- - [qstring-ref](src/checks/level0/README-qstring-ref.md) (fix-missing-qstringref)
- - [qt-macros](src/checks/level0/README-qt-macros.md)
- - [qvariant-template-instantiation](src/checks/level0/README-qvariant-template-instantiation.md)
- - [strict-iterators](src/checks/level0/README-strict-iterators.md)
- - [temporary-iterator](src/checks/level0/README-temporary-iterator.md)
- - [unused-non-trivial-variable](src/checks/level0/README-unused-non-trivial-variable.md)
- - [writing-to-temporary](src/checks/level0/README-writing-to-temporary.md)
- - [wrong-qevent-cast](src/checks/level0/README-wrong-qevent-cast.md)
- - [wrong-qglobalstatic](src/checks/level0/README-wrong-qglobalstatic.md)
+ - [connect-by-name](docs/checks/README-connect-by-name.md)
+ - [connect-non-signal](docs/checks/README-connect-non-signal.md)
+ - [connect-not-normalized](docs/checks/README-connect-not-normalized.md)
+ - [container-anti-pattern](docs/checks/README-container-anti-pattern.md)
+ - [fully-qualified-moc-types](docs/checks/README-fully-qualified-moc-types.md)
+ - [lambda-in-connect](docs/checks/README-lambda-in-connect.md)
+ - [lambda-unique-connection](docs/checks/README-lambda-unique-connection.md)
+ - [mutable-container-key](docs/checks/README-mutable-container-key.md)
+ - [qcolor-from-literal](docs/checks/README-qcolor-from-literal.md)
+ - [qdatetime-utc](docs/checks/README-qdatetime-utc.md) (fix-qdatetime-utc)
+ - [qenums](docs/checks/README-qenums.md)
+ - [qfileinfo-exists](docs/checks/README-qfileinfo-exists.md)
+ - [qgetenv](docs/checks/README-qgetenv.md) (fix-qgetenv)
+ - [qmap-with-pointer-key](docs/checks/README-qmap-with-pointer-key.md)
+ - [qstring-arg](docs/checks/README-qstring-arg.md)
+ - [qstring-insensitive-allocation](docs/checks/README-qstring-insensitive-allocation.md)
+ - [qstring-ref](docs/checks/README-qstring-ref.md) (fix-missing-qstringref)
+ - [qt-macros](docs/checks/README-qt-macros.md)
+ - [qvariant-template-instantiation](docs/checks/README-qvariant-template-instantiation.md)
+ - [strict-iterators](docs/checks/README-strict-iterators.md)
+ - [temporary-iterator](docs/checks/README-temporary-iterator.md)
+ - [unused-non-trivial-variable](docs/checks/README-unused-non-trivial-variable.md)
+ - [writing-to-temporary](docs/checks/README-writing-to-temporary.md)
+ - [wrong-qevent-cast](docs/checks/README-wrong-qevent-cast.md)
+ - [wrong-qglobalstatic](docs/checks/README-wrong-qglobalstatic.md)
- Checks from Level 1:
- - [auto-unexpected-qstringbuilder](src/checks/level1/README-auto-unexpected-qstringbuilder.md) (fix-auto-unexpected-qstringbuilder)
- - [child-event-qobject-cast](src/checks/level1/README-child-event-qobject-cast.md)
- - [connect-3arg-lambda](src/checks/level1/README-connect-3arg-lambda.md)
- - [const-signal-or-slot](src/checks/level1/README-const-signal-or-slot.md)
- - [detaching-temporary](src/checks/level1/README-detaching-temporary.md)
- - [foreach](src/checks/level1/README-foreach.md)
- - [incorrect-emit](src/checks/level1/README-incorrect-emit.md)
- - [inefficient-qlist-soft](src/checks/level1/README-inefficient-qlist-soft.md)
- - [install-event-filter](src/checks/level1/README-install-event-filter.md)
- - [non-pod-global-static](src/checks/level1/README-non-pod-global-static.md)
- - [overridden-signal](src/checks/level1/README-overridden-signal.md)
- - [post-event](src/checks/level1/README-post-event.md)
- - [qdeleteall](src/checks/level1/README-qdeleteall.md)
- - [qhash-namespace](src/checks/level1/README-qhash-namespace.md)
- - [qlatin1string-non-ascii](src/checks/level1/README-qlatin1string-non-ascii.md)
- - [qproperty-without-notify](src/checks/level1/README-qproperty-without-notify.md)
- - [qstring-left](src/checks/level1/README-qstring-left.md)
- - [range-loop](src/checks/level1/README-range-loop.md)
- - [returning-data-from-temporary](src/checks/level1/README-returning-data-from-temporary.md)
- - [rule-of-two-soft](src/checks/level1/README-rule-of-two-soft.md)
- - [skipped-base-method](src/checks/level1/README-skipped-base-method.md)
- - [virtual-signal](src/checks/level1/README-virtual-signal.md)
+ - [auto-unexpected-qstringbuilder](docs/checks/README-auto-unexpected-qstringbuilder.md) (fix-auto-unexpected-qstringbuilder)
+ - [child-event-qobject-cast](docs/checks/README-child-event-qobject-cast.md)
+ - [connect-3arg-lambda](docs/checks/README-connect-3arg-lambda.md)
+ - [const-signal-or-slot](docs/checks/README-const-signal-or-slot.md)
+ - [detaching-temporary](docs/checks/README-detaching-temporary.md)
+ - [foreach](docs/checks/README-foreach.md)
+ - [incorrect-emit](docs/checks/README-incorrect-emit.md)
+ - [inefficient-qlist-soft](docs/checks/README-inefficient-qlist-soft.md)
+ - [install-event-filter](docs/checks/README-install-event-filter.md)
+ - [non-pod-global-static](docs/checks/README-non-pod-global-static.md)
+ - [overridden-signal](docs/checks/README-overridden-signal.md)
+ - [post-event](docs/checks/README-post-event.md)
+ - [qdeleteall](docs/checks/README-qdeleteall.md)
+ - [qhash-namespace](docs/checks/README-qhash-namespace.md)
+ - [qlatin1string-non-ascii](docs/checks/README-qlatin1string-non-ascii.md)
+ - [qproperty-without-notify](docs/checks/README-qproperty-without-notify.md)
+ - [qstring-left](docs/checks/README-qstring-left.md)
+ - [range-loop](docs/checks/README-range-loop.md)
+ - [returning-data-from-temporary](docs/checks/README-returning-data-from-temporary.md)
+ - [rule-of-two-soft](docs/checks/README-rule-of-two-soft.md)
+ - [skipped-base-method](docs/checks/README-skipped-base-method.md)
+ - [virtual-signal](docs/checks/README-virtual-signal.md)
- Checks from Level 2:
- - [base-class-event](src/checks/level2/README-base-class-event.md)
- - [copyable-polymorphic](src/checks/level2/README-copyable-polymorphic.md)
- - [ctor-missing-parent-argument](src/checks/level2/README-ctor-missing-parent-argument.md)
- - [function-args-by-ref](src/checks/level2/README-function-args-by-ref.md)
- - [function-args-by-value](src/checks/level2/README-function-args-by-value.md)
- - [global-const-char-pointer](src/checks/level2/README-global-const-char-pointer.md)
- - [implicit-casts](src/checks/level2/README-implicit-casts.md)
- - [missing-qobject-macro](src/checks/level2/README-missing-qobject-macro.md)
- - [missing-typeinfo](src/checks/level2/README-missing-typeinfo.md)
- - [old-style-connect](src/checks/level2/README-old-style-connect.md) (fix-old-style-connect)
- - [qstring-allocations](src/checks/level2/README-qstring-allocations.md) (fix-qlatin1string-allocations,fix-fromLatin1_fromUtf8-allocations,fix-fromCharPtrAllocations)
- - [returning-void-expression](src/checks/level2/README-returning-void-expression.md)
- - [rule-of-three](src/checks/level2/README-rule-of-three.md)
- - [static-pmf](src/checks/level2/README-static-pmf.md)
- - [virtual-call-ctor](src/checks/level2/README-virtual-call-ctor.md)
+ - [base-class-event](docs/checks/README-base-class-event.md)
+ - [copyable-polymorphic](docs/checks/README-copyable-polymorphic.md)
+ - [ctor-missing-parent-argument](docs/checks/README-ctor-missing-parent-argument.md)
+ - [function-args-by-ref](docs/checks/README-function-args-by-ref.md)
+ - [function-args-by-value](docs/checks/README-function-args-by-value.md)
+ - [global-const-char-pointer](docs/checks/README-global-const-char-pointer.md)
+ - [implicit-casts](docs/checks/README-implicit-casts.md)
+ - [missing-qobject-macro](docs/checks/README-missing-qobject-macro.md)
+ - [missing-typeinfo](docs/checks/README-missing-typeinfo.md)
+ - [old-style-connect](docs/checks/README-old-style-connect.md) (fix-old-style-connect)
+ - [qstring-allocations](docs/checks/README-qstring-allocations.md) (fix-qlatin1string-allocations,fix-fromLatin1_fromUtf8-allocations,fix-fromCharPtrAllocations)
+ - [returning-void-expression](docs/checks/README-returning-void-expression.md)
+ - [rule-of-three](docs/checks/README-rule-of-three.md)
+ - [static-pmf](docs/checks/README-static-pmf.md)
+ - [virtual-call-ctor](docs/checks/README-virtual-call-ctor.md)
- Checks from Level 3:
- - [assert-with-side-effects](src/checks/level3/README-assert-with-side-effects.md)
- - [detaching-member](src/checks/level3/README-detaching-member.md)
- - [reserve-candidates](src/checks/level3/README-reserve-candidates.md)
- - [thread-with-slots](src/checks/level3/README-thread-with-slots.md)
+ - [assert-with-side-effects](docs/checks/README-assert-with-side-effects.md)
+ - [detaching-member](docs/checks/README-detaching-member.md)
+ - [reserve-candidates](docs/checks/README-reserve-candidates.md)
+ - [thread-with-slots](docs/checks/README-thread-with-slots.md)
# Selecting which checks to enable
diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py
index e63ae843..1b7633ed 100755
--- a/dev-scripts/generate.py
+++ b/dev-scripts/generate.py
@@ -51,12 +51,26 @@ def level_num_to_name(n):
return 'undefined'
+def level_num_to_cmake_readme_variable(n):
+ if n == -1:
+ return 'README_manuallevel_FILES'
+ if n >= 0 and n <= 3:
+ return 'README_LEVEL%s_FILES' % str(n)
+
+ return 'undefined'
+
def clazy_source_path():
return os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + "/..") + "/"
def templates_path():
return clazy_source_path() + "dev-scripts/templates/"
+def docs_relative_path():
+ return "docs/checks/"
+
+def docs_path():
+ return clazy_source_path() + docs_relative_path()
+
def read_file(filename):
f = io.open(filename, 'r', newline='\n', encoding='utf8')
contents = f.read()
@@ -120,7 +134,7 @@ class Check:
return "README-" + self.name + ".md"
def readme_path(self):
- return clazy_source_path() + self.basedir(True) + self.readme_name()
+ return docs_path() + self.readme_name()
def supportsQt4(self):
@@ -337,7 +351,6 @@ def create_readmes(checks):
os.remove(existing_readme)
print("Moved " + check.readme_name())
else:
-
contents = read_file(templates_path() + "check-readme.md")
contents = contents.replace('[check-name]', check.name)
write_file(check.readme_path(), contents)
@@ -432,7 +445,6 @@ def create_checks(checks):
return generated
#-------------------------------------------------------------------------------
def generate_readme(checks):
-
filename = clazy_source_path() + "README.md"
f = io.open(filename, 'r', newline='\n', encoding='utf8')
old_contents = f.readlines();
@@ -446,7 +458,7 @@ def generate_readme(checks):
fixits_text = c.fixits_text()
if fixits_text:
fixits_text = " " + fixits_text
- new_text_to_insert += " - [%s](%sREADME-%s.md)%s" % (c.name, c.basedir(True), c.name, fixits_text) + "\n"
+ new_text_to_insert += " - [%s](%sREADME-%s.md)%s" % (c.name, docs_relative_path(), c.name, fixits_text) + "\n"
new_text_to_insert += "\n"
@@ -477,6 +489,31 @@ def generate_readme(checks):
return True
return False
#-------------------------------------------------------------------------------
+def generate_readmes_cmake_install(checks):
+ old_contents = ""
+ filename = clazy_source_path() + 'readmes.cmake'
+ if os.path.exists(filename):
+ f = io.open(filename, 'r', newline='\n', encoding='utf8')
+ old_contents = f.readlines();
+ f.close();
+
+ new_text_to_insert = ""
+ for level in ['-1', '0', '1', '2', '3']:
+ new_text_to_insert += 'SET(' + level_num_to_cmake_readme_variable(int(level)) + "\n"
+ for c in checks:
+ if str(c.level) == level:
+ new_text_to_insert += ' ${CMAKE_CURRENT_LIST_DIR}/docs/checks/' + c.readme_name() + '\n'
+ new_text_to_insert += ')\n\n'
+
+ if old_contents == new_text_to_insert:
+ return False
+
+ f = io.open(filename, 'w', newline='\n', encoding='utf8')
+ f.write(new_text_to_insert)
+ f.close()
+ return True
+
+#-------------------------------------------------------------------------------
complete_json_filename = clazy_source_path() + CHECKS_FILENAME
@@ -504,6 +541,7 @@ if args.generate:
generated = create_readmes(_checks) or generated
generated = create_unittests(_checks) or generated
generated = create_checks(_checks) or generated
+ generated = generate_readmes_cmake_install(_checks) or generated
if not generated:
print("Nothing to do, everything is OK")
else:
diff --git a/src/checks/level3/README-assert-with-side-effects.md b/docs/checks/README-assert-with-side-effects.md
index 5f375749..5f375749 100644
--- a/src/checks/level3/README-assert-with-side-effects.md
+++ b/docs/checks/README-assert-with-side-effects.md
diff --git a/src/checks/level1/README-auto-unexpected-qstringbuilder.md b/docs/checks/README-auto-unexpected-qstringbuilder.md
index 0c9e8143..0c9e8143 100644
--- a/src/checks/level1/README-auto-unexpected-qstringbuilder.md
+++ b/docs/checks/README-auto-unexpected-qstringbuilder.md
diff --git a/src/checks/level2/README-base-class-event.md b/docs/checks/README-base-class-event.md
index fc61fca8..fc61fca8 100644
--- a/src/checks/level2/README-base-class-event.md
+++ b/docs/checks/README-base-class-event.md
diff --git a/src/checks/level1/README-child-event-qobject-cast.md b/docs/checks/README-child-event-qobject-cast.md
index 3299e3f7..3299e3f7 100644
--- a/src/checks/level1/README-child-event-qobject-cast.md
+++ b/docs/checks/README-child-event-qobject-cast.md
diff --git a/src/checks/level1/README-connect-3arg-lambda.md b/docs/checks/README-connect-3arg-lambda.md
index 1ec7c146..1ec7c146 100644
--- a/src/checks/level1/README-connect-3arg-lambda.md
+++ b/docs/checks/README-connect-3arg-lambda.md
diff --git a/src/checks/level0/README-connect-by-name.md b/docs/checks/README-connect-by-name.md
index e5f7d255..e5f7d255 100644
--- a/src/checks/level0/README-connect-by-name.md
+++ b/docs/checks/README-connect-by-name.md
diff --git a/src/checks/level0/README-connect-non-signal.md b/docs/checks/README-connect-non-signal.md
index 627523c9..627523c9 100644
--- a/src/checks/level0/README-connect-non-signal.md
+++ b/docs/checks/README-connect-non-signal.md
diff --git a/src/checks/level0/README-connect-not-normalized.md b/docs/checks/README-connect-not-normalized.md
index 3931fd69..3931fd69 100644
--- a/src/checks/level0/README-connect-not-normalized.md
+++ b/docs/checks/README-connect-not-normalized.md
diff --git a/src/checks/level1/README-const-signal-or-slot.md b/docs/checks/README-const-signal-or-slot.md
index 9a3e71b2..9a3e71b2 100644
--- a/src/checks/level1/README-const-signal-or-slot.md
+++ b/docs/checks/README-const-signal-or-slot.md
diff --git a/src/checks/level0/README-container-anti-pattern.md b/docs/checks/README-container-anti-pattern.md
index b7a77d18..b7a77d18 100644
--- a/src/checks/level0/README-container-anti-pattern.md
+++ b/docs/checks/README-container-anti-pattern.md
diff --git a/src/checks/manuallevel/README-container-inside-loop.md b/docs/checks/README-container-inside-loop.md
index 875851a6..875851a6 100644
--- a/src/checks/manuallevel/README-container-inside-loop.md
+++ b/docs/checks/README-container-inside-loop.md
diff --git a/src/checks/level2/README-copyable-polymorphic.md b/docs/checks/README-copyable-polymorphic.md
index a41ead02..a41ead02 100644
--- a/src/checks/level2/README-copyable-polymorphic.md
+++ b/docs/checks/README-copyable-polymorphic.md
diff --git a/src/checks/level2/README-ctor-missing-parent-argument.md b/docs/checks/README-ctor-missing-parent-argument.md
index 90b9b3ab..90b9b3ab 100644
--- a/src/checks/level2/README-ctor-missing-parent-argument.md
+++ b/docs/checks/README-ctor-missing-parent-argument.md
diff --git a/src/checks/level3/README-detaching-member.md b/docs/checks/README-detaching-member.md
index d5ba9c88..d5ba9c88 100644
--- a/src/checks/level3/README-detaching-member.md
+++ b/docs/checks/README-detaching-member.md
diff --git a/src/checks/level1/README-detaching-temporary.md b/docs/checks/README-detaching-temporary.md
index 60d0196c..60d0196c 100644
--- a/src/checks/level1/README-detaching-temporary.md
+++ b/docs/checks/README-detaching-temporary.md
diff --git a/src/checks/level1/README-foreach.md b/docs/checks/README-foreach.md
index 9c5d3d99..9c5d3d99 100644
--- a/src/checks/level1/README-foreach.md
+++ b/docs/checks/README-foreach.md
diff --git a/src/checks/level0/README-fully-qualified-moc-types.md b/docs/checks/README-fully-qualified-moc-types.md
index 43f34055..43f34055 100644
--- a/src/checks/level0/README-fully-qualified-moc-types.md
+++ b/docs/checks/README-fully-qualified-moc-types.md
diff --git a/src/checks/level2/README-function-args-by-ref.md b/docs/checks/README-function-args-by-ref.md
index d755bfbc..d755bfbc 100644
--- a/src/checks/level2/README-function-args-by-ref.md
+++ b/docs/checks/README-function-args-by-ref.md
diff --git a/src/checks/level2/README-function-args-by-value.md b/docs/checks/README-function-args-by-value.md
index 1e96e4ae..1e96e4ae 100644
--- a/src/checks/level2/README-function-args-by-value.md
+++ b/docs/checks/README-function-args-by-value.md
diff --git a/src/checks/level2/README-global-const-char-pointer.md b/docs/checks/README-global-const-char-pointer.md
index 42cfa996..42cfa996 100644
--- a/src/checks/level2/README-global-const-char-pointer.md
+++ b/docs/checks/README-global-const-char-pointer.md
diff --git a/src/checks/level2/README-implicit-casts.md b/docs/checks/README-implicit-casts.md
index 8a5f3b0f..8a5f3b0f 100644
--- a/src/checks/level2/README-implicit-casts.md
+++ b/docs/checks/README-implicit-casts.md
diff --git a/src/checks/level1/README-incorrect-emit.md b/docs/checks/README-incorrect-emit.md
index 09640675..09640675 100644
--- a/src/checks/level1/README-incorrect-emit.md
+++ b/docs/checks/README-incorrect-emit.md
diff --git a/src/checks/level1/README-inefficient-qlist-soft.md b/docs/checks/README-inefficient-qlist-soft.md
index beebb3d1..beebb3d1 100644
--- a/src/checks/level1/README-inefficient-qlist-soft.md
+++ b/docs/checks/README-inefficient-qlist-soft.md
diff --git a/src/checks/manuallevel/README-inefficient-qlist.md b/docs/checks/README-inefficient-qlist.md
index 3bfe3f1c..3bfe3f1c 100644
--- a/src/checks/manuallevel/README-inefficient-qlist.md
+++ b/docs/checks/README-inefficient-qlist.md
diff --git a/src/checks/level1/README-install-event-filter.md b/docs/checks/README-install-event-filter.md
index 567e44ba..567e44ba 100644
--- a/src/checks/level1/README-install-event-filter.md
+++ b/docs/checks/README-install-event-filter.md
diff --git a/src/checks/manuallevel/README-isempty-vs-count.md b/docs/checks/README-isempty-vs-count.md
index 4db9a33f..4db9a33f 100644
--- a/src/checks/manuallevel/README-isempty-vs-count.md
+++ b/docs/checks/README-isempty-vs-count.md
diff --git a/src/checks/level0/README-lambda-in-connect.md b/docs/checks/README-lambda-in-connect.md
index bfdefec4..bfdefec4 100644
--- a/src/checks/level0/README-lambda-in-connect.md
+++ b/docs/checks/README-lambda-in-connect.md
diff --git a/src/checks/level0/README-lambda-unique-connection.md b/docs/checks/README-lambda-unique-connection.md
index 453f3a28..453f3a28 100644
--- a/src/checks/level0/README-lambda-unique-connection.md
+++ b/docs/checks/README-lambda-unique-connection.md
diff --git a/src/checks/level2/README-missing-qobject-macro.md b/docs/checks/README-missing-qobject-macro.md
index 4b56013a..4b56013a 100644
--- a/src/checks/level2/README-missing-qobject-macro.md
+++ b/docs/checks/README-missing-qobject-macro.md
diff --git a/src/checks/level2/README-missing-typeinfo.md b/docs/checks/README-missing-typeinfo.md
index 675fc2f0..675fc2f0 100644
--- a/src/checks/level2/README-missing-typeinfo.md
+++ b/docs/checks/README-missing-typeinfo.md
diff --git a/src/checks/level0/README-mutable-container-key.md b/docs/checks/README-mutable-container-key.md
index 1c87c017..1c87c017 100644
--- a/src/checks/level0/README-mutable-container-key.md
+++ b/docs/checks/README-mutable-container-key.md
diff --git a/src/checks/level1/README-non-pod-global-static.md b/docs/checks/README-non-pod-global-static.md
index 3dda3d79..3dda3d79 100644
--- a/src/checks/level1/README-non-pod-global-static.md
+++ b/docs/checks/README-non-pod-global-static.md
diff --git a/src/checks/level2/README-old-style-connect.md b/docs/checks/README-old-style-connect.md
index 2cad4e8d..2cad4e8d 100644
--- a/src/checks/level2/README-old-style-connect.md
+++ b/docs/checks/README-old-style-connect.md
diff --git a/src/checks/level1/README-overridden-signal.md b/docs/checks/README-overridden-signal.md
index 8e02084d..8e02084d 100644
--- a/src/checks/level1/README-overridden-signal.md
+++ b/docs/checks/README-overridden-signal.md
diff --git a/src/checks/level1/README-post-event.md b/docs/checks/README-post-event.md
index 2bc3db64..2bc3db64 100644
--- a/src/checks/level1/README-post-event.md
+++ b/docs/checks/README-post-event.md
diff --git a/src/checks/level0/README-qcolor-from-literal.md b/docs/checks/README-qcolor-from-literal.md
index cd2d28fe..cd2d28fe 100644
--- a/src/checks/level0/README-qcolor-from-literal.md
+++ b/docs/checks/README-qcolor-from-literal.md
diff --git a/src/checks/level0/README-qdatetime-utc.md b/docs/checks/README-qdatetime-utc.md
index 1741e78a..1741e78a 100644
--- a/src/checks/level0/README-qdatetime-utc.md
+++ b/docs/checks/README-qdatetime-utc.md
diff --git a/src/checks/level1/README-qdeleteall.md b/docs/checks/README-qdeleteall.md
index 3baea852..3baea852 100644
--- a/src/checks/level1/README-qdeleteall.md
+++ b/docs/checks/README-qdeleteall.md
diff --git a/src/checks/level0/README-qenums.md b/docs/checks/README-qenums.md
index 1c25f058..1c25f058 100644
--- a/src/checks/level0/README-qenums.md
+++ b/docs/checks/README-qenums.md
diff --git a/src/checks/level0/README-qfileinfo-exists.md b/docs/checks/README-qfileinfo-exists.md
index 279fc01c..279fc01c 100644
--- a/src/checks/level0/README-qfileinfo-exists.md
+++ b/docs/checks/README-qfileinfo-exists.md
diff --git a/src/checks/level0/README-qgetenv.md b/docs/checks/README-qgetenv.md
index 3292d798..3292d798 100644
--- a/src/checks/level0/README-qgetenv.md
+++ b/docs/checks/README-qgetenv.md
diff --git a/src/checks/level1/README-qhash-namespace.md b/docs/checks/README-qhash-namespace.md
index ca4b646c..ca4b646c 100644
--- a/src/checks/level1/README-qhash-namespace.md
+++ b/docs/checks/README-qhash-namespace.md
diff --git a/src/checks/manuallevel/README-qhash-with-char-pointer-key.md b/docs/checks/README-qhash-with-char-pointer-key.md
index 7d475105..7d475105 100644
--- a/src/checks/manuallevel/README-qhash-with-char-pointer-key.md
+++ b/docs/checks/README-qhash-with-char-pointer-key.md
diff --git a/src/checks/level1/README-qlatin1string-non-ascii.md b/docs/checks/README-qlatin1string-non-ascii.md
index 1ba1da41..1ba1da41 100644
--- a/src/checks/level1/README-qlatin1string-non-ascii.md
+++ b/docs/checks/README-qlatin1string-non-ascii.md
diff --git a/src/checks/level0/README-qmap-with-pointer-key.md b/docs/checks/README-qmap-with-pointer-key.md
index 6fe5ed96..6fe5ed96 100644
--- a/src/checks/level0/README-qmap-with-pointer-key.md
+++ b/docs/checks/README-qmap-with-pointer-key.md
diff --git a/src/checks/level1/README-qproperty-without-notify.md b/docs/checks/README-qproperty-without-notify.md
index f523c0ab..f523c0ab 100644
--- a/src/checks/level1/README-qproperty-without-notify.md
+++ b/docs/checks/README-qproperty-without-notify.md
diff --git a/src/checks/level2/README-qstring-allocations.md b/docs/checks/README-qstring-allocations.md
index fda4278e..fda4278e 100644
--- a/src/checks/level2/README-qstring-allocations.md
+++ b/docs/checks/README-qstring-allocations.md
diff --git a/src/checks/level0/README-qstring-arg.md b/docs/checks/README-qstring-arg.md
index 819a97cf..819a97cf 100644
--- a/src/checks/level0/README-qstring-arg.md
+++ b/docs/checks/README-qstring-arg.md
diff --git a/src/checks/level0/README-qstring-insensitive-allocation.md b/docs/checks/README-qstring-insensitive-allocation.md
index d3b2a7e3..d3b2a7e3 100644
--- a/src/checks/level0/README-qstring-insensitive-allocation.md
+++ b/docs/checks/README-qstring-insensitive-allocation.md
diff --git a/src/checks/level1/README-qstring-left.md b/docs/checks/README-qstring-left.md
index b4b53a98..b4b53a98 100644
--- a/src/checks/level1/README-qstring-left.md
+++ b/docs/checks/README-qstring-left.md
diff --git a/src/checks/level0/README-qstring-ref.md b/docs/checks/README-qstring-ref.md
index 7dcf05e8..7dcf05e8 100644
--- a/src/checks/level0/README-qstring-ref.md
+++ b/docs/checks/README-qstring-ref.md
diff --git a/src/checks/manuallevel/README-qstring-varargs.md b/docs/checks/README-qstring-varargs.md
index aa029e46..aa029e46 100644
--- a/src/checks/manuallevel/README-qstring-varargs.md
+++ b/docs/checks/README-qstring-varargs.md
diff --git a/src/checks/manuallevel/README-qt-keywords.md b/docs/checks/README-qt-keywords.md
index 0abca20a..0abca20a 100644
--- a/src/checks/manuallevel/README-qt-keywords.md
+++ b/docs/checks/README-qt-keywords.md
diff --git a/src/checks/level0/README-qt-macros.md b/docs/checks/README-qt-macros.md
index 9d6353d5..9d6353d5 100644
--- a/src/checks/level0/README-qt-macros.md
+++ b/docs/checks/README-qt-macros.md
diff --git a/src/checks/manuallevel/README-qt4-qstring-from-array.md b/docs/checks/README-qt4-qstring-from-array.md
index 78339140..78339140 100644
--- a/src/checks/manuallevel/README-qt4-qstring-from-array.md
+++ b/docs/checks/README-qt4-qstring-from-array.md
diff --git a/src/checks/level0/README-qvariant-template-instantiation.md b/docs/checks/README-qvariant-template-instantiation.md
index 9a8f5e9a..9a8f5e9a 100644
--- a/src/checks/level0/README-qvariant-template-instantiation.md
+++ b/docs/checks/README-qvariant-template-instantiation.md
diff --git a/src/checks/level1/README-range-loop.md b/docs/checks/README-range-loop.md
index ef9d4eda..ef9d4eda 100644
--- a/src/checks/level1/README-range-loop.md
+++ b/docs/checks/README-range-loop.md
diff --git a/src/checks/level3/README-reserve-candidates.md b/docs/checks/README-reserve-candidates.md
index 6a2c6876..6a2c6876 100644
--- a/src/checks/level3/README-reserve-candidates.md
+++ b/docs/checks/README-reserve-candidates.md
diff --git a/src/checks/level1/README-returning-data-from-temporary.md b/docs/checks/README-returning-data-from-temporary.md
index efef86ed..efef86ed 100644
--- a/src/checks/level1/README-returning-data-from-temporary.md
+++ b/docs/checks/README-returning-data-from-temporary.md
diff --git a/src/checks/level2/README-returning-void-expression.md b/docs/checks/README-returning-void-expression.md
index bb405092..bb405092 100644
--- a/src/checks/level2/README-returning-void-expression.md
+++ b/docs/checks/README-returning-void-expression.md
diff --git a/src/checks/level2/README-rule-of-three.md b/docs/checks/README-rule-of-three.md
index 9e9f64ea..9e9f64ea 100644
--- a/src/checks/level2/README-rule-of-three.md
+++ b/docs/checks/README-rule-of-three.md
diff --git a/src/checks/level1/README-rule-of-two-soft.md b/docs/checks/README-rule-of-two-soft.md
index b7aca962..b7aca962 100644
--- a/src/checks/level1/README-rule-of-two-soft.md
+++ b/docs/checks/README-rule-of-two-soft.md
diff --git a/src/checks/level1/README-skipped-base-method.md b/docs/checks/README-skipped-base-method.md
index 4475987b..4475987b 100644
--- a/src/checks/level1/README-skipped-base-method.md
+++ b/docs/checks/README-skipped-base-method.md
diff --git a/src/checks/level2/README-static-pmf.md b/docs/checks/README-static-pmf.md
index e27e7b6c..e27e7b6c 100644
--- a/src/checks/level2/README-static-pmf.md
+++ b/docs/checks/README-static-pmf.md
diff --git a/src/checks/level0/README-strict-iterators.md b/docs/checks/README-strict-iterators.md
index 0730710a..0730710a 100644
--- a/src/checks/level0/README-strict-iterators.md
+++ b/docs/checks/README-strict-iterators.md
diff --git a/src/checks/level0/README-temporary-iterator.md b/docs/checks/README-temporary-iterator.md
index c9dcd776..c9dcd776 100644
--- a/src/checks/level0/README-temporary-iterator.md
+++ b/docs/checks/README-temporary-iterator.md
diff --git a/src/checks/level3/README-thread-with-slots.md b/docs/checks/README-thread-with-slots.md
index 0643364c..0643364c 100644
--- a/src/checks/level3/README-thread-with-slots.md
+++ b/docs/checks/README-thread-with-slots.md
diff --git a/src/checks/manuallevel/README-tr-non-literal.md b/docs/checks/README-tr-non-literal.md
index 4cf97844..4cf97844 100644
--- a/src/checks/manuallevel/README-tr-non-literal.md
+++ b/docs/checks/README-tr-non-literal.md
diff --git a/src/checks/manuallevel/README-unneeded-cast.md b/docs/checks/README-unneeded-cast.md
index 97af458f..97af458f 100644
--- a/src/checks/manuallevel/README-unneeded-cast.md
+++ b/docs/checks/README-unneeded-cast.md
diff --git a/src/checks/level0/README-unused-non-trivial-variable.md b/docs/checks/README-unused-non-trivial-variable.md
index 377344bd..377344bd 100644
--- a/src/checks/level0/README-unused-non-trivial-variable.md
+++ b/docs/checks/README-unused-non-trivial-variable.md
diff --git a/src/checks/level2/README-virtual-call-ctor.md b/docs/checks/README-virtual-call-ctor.md
index 2bf715c9..2bf715c9 100644
--- a/src/checks/level2/README-virtual-call-ctor.md
+++ b/docs/checks/README-virtual-call-ctor.md
diff --git a/src/checks/level1/README-virtual-signal.md b/docs/checks/README-virtual-signal.md
index 7d922ce7..7d922ce7 100644
--- a/src/checks/level1/README-virtual-signal.md
+++ b/docs/checks/README-virtual-signal.md
diff --git a/src/checks/level0/README-writing-to-temporary.md b/docs/checks/README-writing-to-temporary.md
index f39eb5d4..f39eb5d4 100644
--- a/src/checks/level0/README-writing-to-temporary.md
+++ b/docs/checks/README-writing-to-temporary.md
diff --git a/src/checks/level0/README-wrong-qevent-cast.md b/docs/checks/README-wrong-qevent-cast.md
index 96244231..96244231 100644
--- a/src/checks/level0/README-wrong-qevent-cast.md
+++ b/docs/checks/README-wrong-qevent-cast.md
diff --git a/src/checks/level0/README-wrong-qglobalstatic.md b/docs/checks/README-wrong-qglobalstatic.md
index 70734870..70734870 100644
--- a/src/checks/level0/README-wrong-qglobalstatic.md
+++ b/docs/checks/README-wrong-qglobalstatic.md
diff --git a/readmes.cmake b/readmes.cmake
new file mode 100644
index 00000000..70513faf
--- /dev/null
+++ b/readmes.cmake
@@ -0,0 +1,90 @@
+SET(README_manuallevel_FILES
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-container-inside-loop.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-inefficient-qlist.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-isempty-vs-count.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qhash-with-char-pointer-key.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qstring-varargs.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qt-keywords.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qt4-qstring-from-array.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-tr-non-literal.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-unneeded-cast.md
+)
+
+SET(README_LEVEL0_FILES
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-connect-by-name.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-connect-non-signal.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-connect-not-normalized.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-container-anti-pattern.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-fully-qualified-moc-types.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-lambda-in-connect.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-lambda-unique-connection.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-mutable-container-key.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qcolor-from-literal.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qdatetime-utc.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qenums.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qfileinfo-exists.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qgetenv.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qmap-with-pointer-key.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qstring-arg.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qstring-insensitive-allocation.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qstring-ref.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qt-macros.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qvariant-template-instantiation.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-strict-iterators.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-temporary-iterator.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-unused-non-trivial-variable.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-writing-to-temporary.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-wrong-qevent-cast.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-wrong-qglobalstatic.md
+)
+
+SET(README_LEVEL1_FILES
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-auto-unexpected-qstringbuilder.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-child-event-qobject-cast.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-connect-3arg-lambda.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-const-signal-or-slot.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-detaching-temporary.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-foreach.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-incorrect-emit.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-inefficient-qlist-soft.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-install-event-filter.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-non-pod-global-static.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-overridden-signal.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-post-event.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qdeleteall.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qhash-namespace.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qlatin1string-non-ascii.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qproperty-without-notify.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qstring-left.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-range-loop.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-returning-data-from-temporary.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-rule-of-two-soft.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-skipped-base-method.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-virtual-signal.md
+)
+
+SET(README_LEVEL2_FILES
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-base-class-event.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-copyable-polymorphic.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-ctor-missing-parent-argument.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-function-args-by-ref.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-function-args-by-value.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-global-const-char-pointer.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-implicit-casts.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-missing-qobject-macro.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-missing-typeinfo.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-old-style-connect.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-qstring-allocations.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-returning-void-expression.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-rule-of-three.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-static-pmf.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-virtual-call-ctor.md
+)
+
+SET(README_LEVEL3_FILES
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-assert-with-side-effects.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-detaching-member.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-reserve-candidates.md
+ ${CMAKE_CURRENT_LIST_DIR}/docs/checks/README-thread-with-slots.md
+)
+