aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangpchmanager/clangpchmanager.qbs
blob: 8e7c5447a6cc198b32bc4b80443f1dd1b280a44c (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
import qbs
import qbs.FileInfo

QtcPlugin {
    name: "ClangPchManager"

    Depends { name: "libclang"; required: false }
    condition: libclang.present && libclang.toolingEnabled

    Depends { name: "ClangSupport" }
    Depends { name: "Utils" }

    Depends { name: "Core" }
    Depends { name: "CppTools" }
    Depends { name: "ProjectExplorer" }

    cpp.defines: {
        var defines = base;
        defines.push("CLANGPCHMANAGER_LIB");

        // The following defines are used to determine the clang include path for intrinsics.
        defines.push('CLANG_VERSION="' + libclang.llvmVersion + '"');
        var resourceDir = FileInfo.joinPaths(libclang.llvmLibDir, "clang", libclang.llvmVersion,
                                             "include");
        defines.push('CLANG_RESOURCE_DIR="' + resourceDir + '"');
        defines.push('CLANG_BINDIR="' + libclang.llvmBinDir + '"');
        return defines;
    }

    cpp.includePaths: ["."]

    files: [
        "clangpchmanagerplugin.cpp",
        "clangpchmanagerplugin.h",
        "clangpchmanager_global.h",
        "pchmanagerclient.cpp",
        "pchmanagerclient.h",
        "pchmanagernotifierinterface.cpp",
        "pchmanagernotifierinterface.h",
        "pchmanagerconnectionclient.cpp",
        "pchmanagerconnectionclient.h",
        "pchmanagerprojectupdater.cpp",
        "pchmanagerprojectupdater.h",
        "projectupdater.cpp",
        "projectupdater.h",
        "qtcreatorprojectupdater.cpp",
        "qtcreatorprojectupdater.h",
    ]
}