drm_hwcomposer: CI: Initial build and clang-tidy checks
Build android-agnostic code in linux environment.
Enable static code analysis using clang-tidy.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
diff --git a/.clang-tidy b/.clang-tidy
new file mode 100644
index 0000000..0bb7bf0
--- /dev/null
+++ b/.clang-tidy
@@ -0,0 +1,42 @@
+# fuchsia: Conflicts with other checks
+# llvm-header-guard: Does not match drm_hwc header gusrd style
+# Allow using ALOGE
+
+Checks: >
+ *,
+ -fuchsia*,
+ -llvm*,
+ -cppcoreguidelines-pro-type-vararg, -hicpp-vararg,
+ -hicpp-signed-bitwise,
+
+# Turn all the warnings from the checks above into errors.
+WarningsAsErrors: "*"
+
+#HeaderFilterRegex: "^.*external/drm_hwcomposer/.*.h$"
+
+FormatStyle: google
+
+CheckOptions:
+ - { key: readability-identifier-naming.NamespaceCase, value: lower_case }
+ - { key: readability-identifier-naming.ClassCase, value: CamelCase }
+ - { key: readability-identifier-naming.StructCase, value: CamelCase }
+ - { key: readability-identifier-naming.TemplateParameterCase, value: CamelCase }
+ - { key: readability-identifier-naming.FunctionCase, value: aNy_CasE }
+ - { key: readability-identifier-naming.VariableCase, value: lower_case }
+ - { key: readability-identifier-naming.ClassMemberCase, value: lower_case }
+ - { key: readability-identifier-naming.ClassMemberSuffix, value: _ }
+ - { key: readability-identifier-naming.PrivateMemberSuffix, value: _ }
+ - { key: readability-identifier-naming.ProtectedMemberSuffix, value: _ }
+ - { key: readability-identifier-naming.EnumConstantCase, value: CamelCase }
+ - { key: readability-identifier-naming.EnumConstantPrefix, value: k }
+ - { key: readability-identifier-naming.ConstexprVariableCase, value: CamelCase }
+ - { key: readability-identifier-naming.ConstexprVariablePrefix, value: k }
+ - { key: readability-identifier-naming.GlobalConstantCase, value: CamelCase }
+ - { key: readability-identifier-naming.GlobalConstantPrefix, value: k }
+ - { key: readability-identifier-naming.MemberConstantCase, value: CamelCase }
+ - { key: readability-identifier-naming.MemberConstantPrefix, value: k }
+ - { key: readability-identifier-naming.StaticConstantCase, value: CamelCase }
+ - { key: readability-identifier-naming.StaticConstantPrefix, value: k }
+ - { key: readability-implicit-bool-conversion.AllowIntegerConditions, value: 1 }
+ - { key: readability-implicit-bool-conversion.AllowPointerConditions, value: 1 }
+ - { key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic, value: 1 }