blob: 6464af705f8535e6b6566c490bf99ed784b83f2f (
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
67
68
69
70
|
import qbs.FileInfo
Project {
property bool isStatic: false
property bool isBundle: false
property string headersInstallDir: "include"
Product {
name: "DllExport"
Depends { name: "Exporter.cmake" }
Group {
name: "API headers"
files: ["../dllexport.h"]
qbs.install: true
qbs.installDir: project.headersInstallDir
}
Group {
fileTagsFilter: ["Exporter.cmake.package"]
qbs.install: true
qbs.installDir: "/lib/cmake/DllExport"
}
Export {
Depends { name: "cpp" }
cpp.includePaths: FileInfo.joinPaths(
exportingProduct.qbs.installRoot,
exportingProduct.qbs.installPrefix,
project.headersInstallDir)
}
}
Library {
type: project.isStatic ? "staticlibrary" : "dynamiclibrary"
Depends { name: "cpp" }
Depends { name: "DllExport" }
Depends { name: "Exporter.cmake" }
Exporter.cmake.packageName: "Bar"
name: "Foo"
files: ["Foo.cpp"]
version: "1.2.3"
cpp.includePaths: "."
cpp.defines: "FOO_LIB"
Group {
name: "API headers"
files: ["Foo.h"]
qbs.install: true
qbs.installDir: project.headersInstallDir
}
install: true
installImportLib: true
Group {
fileTagsFilter: ["Exporter.cmake.package"]
qbs.install: true
qbs.installDir: "/lib/cmake/Bar"
}
Export {
Depends { name: "cpp" }
cpp.includePaths: FileInfo.joinPaths(
exportingProduct.qbs.installRoot,
exportingProduct.qbs.installPrefix,
project.headersInstallDir)
cpp.defines: ["FOO=1"].concat(project.isStatic ? ["FOO_LIB_STATIC"] : [])
cpp.commonCompilerFlags: "-DOTHER_DEF=1"
cpp.linkerFlags: exportingProduct.qbs.toolchain.contains("gcc") ? ["-s"] : []
}
Depends { name: 'bundle' }
bundle.isBundle: qbs.targetOS.includes("darwin") && project.isBundle
}
}
|