aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppcheck/cppchecksettings.h
blob: c5b4a78a67692c6be0a9776b8ed9174717aa369f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright (C) 2018 Sergey Morozov
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0

#pragma once

#include <utils/aspects.h>

#include <functional>

namespace Cppcheck::Internal {

class CppcheckSettings final : public Utils::AspectContainer
{
public:
    CppcheckSettings();

    std::function<Layouting::Layout()> layouter();

    Utils::FilePathAspect binary{this};
    Utils::BoolAspect warning{this};
    Utils::BoolAspect style{this};
    Utils::BoolAspect performance{this};
    Utils::BoolAspect portability{this};
    Utils::BoolAspect information{this};
    Utils::BoolAspect unusedFunction{this};
    Utils::BoolAspect missingInclude{this};
    Utils::BoolAspect inconclusive{this};
    Utils::BoolAspect forceDefines{this};

    Utils::StringAspect customArguments{this};
    Utils::StringAspect ignoredPatterns{this};
    Utils::BoolAspect showOutput{this};
    Utils::BoolAspect addIncludePaths{this};
    Utils::BoolAspect guessArguments{this};
};

CppcheckSettings &settings();


} // Cppcheck::Internal