aboutsummaryrefslogtreecommitdiffstats
path: root/qbs/modules/libclang/libclang.qbs
blob: 6e15ed36d77614ac3336d2707c274835e16b1596 (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
import qbs
import qbs.File
import QtcFunctions
import "functions.js" as ClangFunctions

Module {
    Probe {
        id: clangProbe

        property string llvmConfig
        property string llvmIncludeDir
        property string llvmLibDir
        property stringList llvmLibs

        configure: {
            llvmConfig = ClangFunctions.llvmConfig(qbs, QtcFunctions);
            llvmIncludeDir = ClangFunctions.includeDir(llvmConfig);
            llvmLibDir = ClangFunctions.libDir(llvmConfig);
            llvmLibs = ClangFunctions.libraries(qbs.targetOS);
            found = llvmConfig && File.exists(llvmIncludeDir.concat("/clang-c/Index.h"));
        }
    }

    property string llvmConfig: clangProbe.llvmConfig
    property string llvmIncludeDir: clangProbe.llvmIncludeDir
    property string llvmLibDir: clangProbe.llvmLibDir
    property stringList llvmLibs: clangProbe.llvmLibs

    validate: {
        if (!clangProbe.found) {
            console.warn("Set LLVM_INSTALL_DIR to build the Clang Code Model."
                         + " For details, see doc/src/editors/creator-clang-codemodel.qdoc.");
            throw "No usable libclang found";
        }
    }
}