aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangformat/clangformat.qbs
blob: 057035cd1a60eddeb64627641f5f0f40a6bad68c (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import qbs

QtcPlugin {
    name: "ClangFormat"
    targetName: "ClangFormatPlugin"

    Depends { name: "Core" }
    Depends { name: "CppEditor" }
    Depends { name: "ProjectExplorer" }
    Depends { name: "TextEditor" }
    Depends { name: "Utils" }

    Depends { name: "libclang"; required: false }
    Depends { name: "clang_defines" }

    Depends { name: "Qt.widgets" }

    condition: libclang.present
               && libclang.llvmFormattingLibs.length
               && (!qbs.targetOS.contains("windows") || libclang.llvmBuildModeMatches)

    cpp.cxxFlags: base.concat(libclang.llvmToolingCxxFlags)
    cpp.linkerFlags: {
        var flags = base;
        if (qbs.targetOS.contains("unix") && !qbs.targetOS.contains("macos"))
            flags.push("--exclude-libs", "ALL");
        return flags;
    }
    cpp.includePaths: base.concat(libclang.llvmIncludeDir)
    cpp.libraryPaths: base.concat(libclang.llvmLibDir)
    cpp.dynamicLibraries: base.concat(libclang.llvmFormattingLibs)
    cpp.rpaths: base.concat(libclang.llvmLibDir)

    files: [
        "clangformatbaseindenter.h",
        "clangformatbaseindenter.cpp",
        "clangformatchecks.cpp",
        "clangformatchecks.h",
        "clangformatconfigwidget.cpp",
        "clangformatconfigwidget.h",
        "clangformatconstants.h",
        "clangformatglobalconfigwidget.cpp",
        "clangformatglobalconfigwidget.h",
        "clangformatfile.cpp",
        "clangformatfile.h",
        "clangformatindenter.cpp",
        "clangformatindenter.h",
        "clangformatplugin.cpp",
        "clangformatplugin.h",
        "clangformatsettings.cpp",
        "clangformatsettings.h",
        "clangformattr.h",
        "clangformatutils.h",
        "clangformatutils.cpp",
    ]

    QtcTestFiles {
        prefix: "tests/"
        cpp.defines: outer.concat('TESTDATA_DIR="' + sourceDirectory + "/tests/data" + '"')
        files: [
            "clangformat-test.cpp",
            "clangformat-test.h",
            "data/.clang-format",
        ]
    }
}