blob: 453dac562656b63d4f489241ec33de641c76157d (
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
|
import qbs.FileInfo
DynamicLibrary {
name: "MyLib"
multiplexByQbsProperties: ["buildVariants"]
aggregate: false
qbs.buildVariants: ["debug", "release"]
qbs.installPrefix: project.installPrefix
Depends { name: "cpp" }
Depends { name: "Exporter.qbs" }
Exporter.qbs.fileName: name + "_" + qbs.buildVariant + ".qbs"
Exporter.qbs.excludedDependencies: ["local"]
Exporter.qbs.additionalContent: " condition: qbs.buildVariant === '"
+ qbs.buildVariant + "'"
property string headersInstallDir: "include"
cpp.defines: ["MYLIB_BUILD"]
cpp.variantSuffix: qbs.buildVariant === "debug" ? "d" : ""
Properties {
condition: qbs.targetOS.contains("darwin")
bundle.isBundle: false
}
files: ["mylib.cpp"]
property var config: ({feature_x: false, feature_y: true})
Group {
name: "API headers"
files: ["mylib.h"]
qbs.install: true
qbs.installDir: headersInstallDir
}
install: true
installImportLib: true
installDir: "lib"
Group {
fileTagsFilter: ["Exporter.qbs.module"]
qbs.install: true
qbs.installDir: "qbs/modules/MyLib"
}
Export {
Depends { name: "cpp" }
property string includeDir: exportingProduct.sourceDirectory
property var config: exportingProduct.config
Properties {
condition: true
cpp.includePaths: [includeDir]
cpp.dynamicLibraries: []
}
cpp.dynamicLibraries: ["nosuchlib"]
Depends { name: "local" }
local.dummy: true
Properties {
condition: true
prefixMapping: [{
prefix: includeDir,
replacement: FileInfo.joinPaths(qbs.installPrefix, exportingProduct.headersInstallDir)
}]
}
}
}
|