aboutsummaryrefslogtreecommitdiffstats
path: root/qbs/modules/libclang/libclang.qbs
blob: eaadeb3bfa78018e211de4ec9dd630568dae0882 (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
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)
            throw "No usable libclang found";
    }
}