From 042c35d7bb0425351bb3fa52a0b572e05c180393 Mon Sep 17 00:00:00 2001 From: Daniel <d.hornung@indiscale.com> Date: Thu, 26 Aug 2021 14:07:07 +0200 Subject: [PATCH] DOC: README_SETUP.md updated, some formatting. --- .gitignore | 6 +++++ Makefile | 49 ++++++++++++++++++++++++++++++++++++++ README.md | 4 ++++ test/CMakeLists.txt | 1 - test/caosdb_test_utility.h | 22 +++++++++-------- 5 files changed, 71 insertions(+), 11 deletions(-) create mode 100644 Makefile diff --git a/.gitignore b/.gitignore index f5e46b6..2df7356 100644 --- a/.gitignore +++ b/.gitignore @@ -144,3 +144,9 @@ flycheck_*.el # Python/Sphinx env/ + +# Conan +conan.lock +conanbuildinfo* +conaninfo.txt +graph_info.json diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a1e4637 --- /dev/null +++ b/Makefile @@ -0,0 +1,49 @@ +# ** header v3.0 +# This file is a part of the CaosDB Project. +# +# Copyright (C) 2021 IndiScale GmbH <info@indiscale.com> +# Copyright (C) 2021 Daniel Hornung <d.hornung@indiscale.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# +# ** end header + +# This Makefile is a wrapper for several other scripts. + + +CLANG-FORMAT = clang-format-11 +CLANG-TIDY = clang-tidy-11 + +CLANG_TIDY_CHECKS = "--checks=*,-fuchsia-*,-llvmlibc-*,-cert-err58-cpp,-cppcoreguidelines-avoid-non-const-global-variables,-cppcoreguidelines-owning-memory,-modernize-use-trailing-return-type,-google-readability-avoid-underscore-in-googletest-name,-cppcoreguidelines-avoid-magic-numbers,-readability-magic-numbers,-cppcoreguidelines-avoid-goto,-hicpp-avoid-goto,-readability-function-cognitive-complexity,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-non-private-member-variables-in-classes,-misc-non-private-member-variables-in-classes,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-hicpp-no-array-decay" +CLANG_TIDY_CMD = $(CLANG-TIDY) \ + --header-filter=caosdb/.*[^\(\.pb\.h\)]$ \ + --fix \ + $(CLANG_TIDY_CHECKS) + + +.PHONY: help +help: + @echo "Targets:" + @echo " conan-install - Install locally with Conan." + @echo " style - auto-format the source files." + +conan-install: + conan install . -s "compiler.libcxx=libstdc++11" +.PHONY: conan-install + +format: conan-install + $(CLANG-FORMAT) -i --verbose \ + $$(find test/ -type f -iname "*.cpp" -o -iname "*.h" -o -iname "*.h.in") + $(CLANG_TIDY_CMD) $$(find test/ -type f -iname "*.cpp" -o -iname "*.h" -o -iname "*.h.in") +.PHONY: format diff --git a/README.md b/README.md index 9d2b880..a1e4491 100644 --- a/README.md +++ b/README.md @@ -26,3 +26,7 @@ Create a local conan package from the caosdb-cpplib repository - CAOSDB_SERVER_GRPC_PORT_HTTPS - CAOSDB_SERVER_CERT 6. Run with `ctest` in the build directory. + +## Formatting, style, linting ## + +`make format` diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index bfc0e7b..ec9d390 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -81,7 +81,6 @@ if(LINTING) message(STATUS "clang-tidy: ${clang_tidy}") set(_CMAKE_CXX_CLANG_TIDY "${clang_tidy}" "--header-filter=caosdb/.*[^\(\.pb\.h\)]$" - "--warnings-as-errors=*" "--fix") set(_CMAKE_CXX_CLANG_TIDY_CHECKS "--checks=*,-fuchsia-*,-llvmlibc-*,-cert-err58-cpp,-cppcoreguidelines-avoid-non-const-global-variables,-cppcoreguidelines-owning-memory,-modernize-use-trailing-return-type,-google-readability-avoid-underscore-in-googletest-name,-cppcoreguidelines-avoid-magic-numbers,-readability-magic-numbers,-cppcoreguidelines-avoid-goto,-hicpp-avoid-goto,-readability-function-cognitive-complexity,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-non-private-member-variables-in-classes,-misc-non-private-member-variables-in-classes,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-hicpp-no-array-decay") diff --git a/test/caosdb_test_utility.h b/test/caosdb_test_utility.h index cd1b47c..4cde3dc 100644 --- a/test/caosdb_test_utility.h +++ b/test/caosdb_test_utility.h @@ -32,15 +32,17 @@ * @date 2021-07-07 */ #define EXPECT_THROW_MESSAGE(statement, exeption_type, message) \ - EXPECT_THROW(try { statement; } catch (const exeption_type &e) { \ - EXPECT_EQ(std::string(e.what()), message); \ - throw; \ - }, \ - exeption_type) + EXPECT_THROW( \ + try { statement; } catch (const exeption_type &e) { \ + EXPECT_EQ(std::string(e.what()), message); \ + throw; \ + }, \ + exeption_type) #define ASSERT_THROW_MESSAGE(statement, exeption_type, message) \ - ASSERT_THROW(try { statement; } catch (const exeption_type &e) { \ - ASSERT_EQ(std::string(e.what()), message); \ - throw; \ - }, \ - exeption_type) + ASSERT_THROW( \ + try { statement; } catch (const exeption_type &e) { \ + ASSERT_EQ(std::string(e.what()), message); \ + throw; \ + }, \ + exeption_type) #endif -- GitLab