summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2014-08-04 16:27:50 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2014-08-05 13:28:19 +0200
commit59b34b6b539c78384ea3fc4fd018fe063b4ede53 (patch)
tree88b17c45f7b565a89dfc9af407ba4261a8f6f7e7
parentc4eb09e9fb836723b4f6d538f93868202e2e9758 (diff)
downloadqt-creator-59b34b6b539c78384ea3fc4fd018fe063b4ede53.tar.gz
add cdb extensions to qbs build
Task-number: QTCREATORBUG-7934 Change-Id: Id6d8e0cd4f6ec8b122b858f7946401a4c605f06d Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
-rw-r--r--src/libs/libs.qbs1
-rw-r--r--src/libs/qtcreatorcdbext/qtcreatorcdbext.qbs77
2 files changed, 78 insertions, 0 deletions
diff --git a/src/libs/libs.qbs b/src/libs/libs.qbs
index 8bff7f99a2..a997225e81 100644
--- a/src/libs/libs.qbs
+++ b/src/libs/libs.qbs
@@ -11,6 +11,7 @@ Project {
"qmleditorwidgets/qmleditorwidgets.qbs",
"qmljs/qmljs.qbs",
"qmldebug/qmldebug.qbs",
+ "qtcreatorcdbext/qtcreatorcdbext.qbs",
"ssh/ssh.qbs",
"utils/process_stub.qbs",
"utils/process_ctrlc_stub.qbs",
diff --git a/src/libs/qtcreatorcdbext/qtcreatorcdbext.qbs b/src/libs/qtcreatorcdbext/qtcreatorcdbext.qbs
new file mode 100644
index 0000000000..15dc104f37
--- /dev/null
+++ b/src/libs/qtcreatorcdbext/qtcreatorcdbext.qbs
@@ -0,0 +1,77 @@
+import qbs
+import qbs.File
+import qbs.FileInfo
+
+QtcLibrary {
+ condition: qbs.toolchain.contains("msvc") && cdbPath
+ name: "qtcreatorcdbext"
+ property string cdbPath: {
+ var paths = [
+ qbs.getEnv("CDB_PATH"),
+ qbs.getEnv("ProgramFiles") + "/Debugging Tools For Windows/sdk",
+ qbs.getEnv("ProgramFiles") + "/Debugging Tools For Windows (x86)/sdk",
+ qbs.getEnv("ProgramFiles") + "/Debugging Tools For Windows (x64)/sdk",
+ qbs.getEnv("ProgramFiles") + "/Debugging Tools For Windows 64-bit/sdk",
+ qbs.getEnv("ProgramW6432") + "/Debugging Tools For Windows (x86)/sdk",
+ qbs.getEnv("ProgramW6432") + "/Debugging Tools For Windows (x64)/sdk",
+ qbs.getEnv("ProgramW6432") + "/Debugging Tools For Windows 64-bit/sdk",
+ qbs.getEnv("ProgramFiles") + "/Windows Kits/8.0/Debuggers",
+ qbs.getEnv("ProgramFiles") + "/Windows Kits/8.1/Debuggers",
+ qbs.getEnv("ProgramFiles(x86)") + "/Windows Kits/8.0/Debuggers/inc",
+ qbs.getEnv("ProgramFiles(x86)") + "/Windows Kits/8.1/Debuggers/inc"
+ ];
+ var c = paths.length;
+ for (var i = 0; i < c; ++i) {
+ if (File.exists(paths[i])) {
+ // The inc subdir is just used for detection. See qtcreatorcdbext.pro.
+ return paths[i].endsWith("/inc") ? paths[i].substr(0, paths[i] - 4) : paths[i];
+ }
+ }
+ return undefined;
+ }
+ property string cdbPlatform: qbs.architecture.contains("x86_64") ? "x64" : "x86"
+ cpp.includePaths: [FileInfo.joinPaths(cdbPath, "inc")]
+ cpp.dynamicLibraries: [
+ "user32.lib",
+ FileInfo.joinPaths(cdbPath, "lib", cdbPlatform, "dbgeng.lib")
+ ]
+ cpp.linkerFlags: ["/DEF:" + FileInfo.toWindowsSeparators(
+ FileInfo.joinPaths(product.sourceDirectory,
+ "qtcreatorcdbext.def"))]
+ installDir: {
+ var dirName = name;
+ if (qbs.architecture.contains("x86_64"))
+ dirName += "64";
+ else
+ dirName += "32";
+ return FileInfo.joinPaths(project.ide_library_path, dirName);
+ }
+ files: [
+ "base64.cpp",
+ "base64.h",
+ "common.cpp",
+ "common.h",
+ "containers.cpp",
+ "containers.h",
+ "eventcallback.cpp",
+ "eventcallback.h",
+ "extensioncontext.cpp",
+ "extensioncontext.h",
+ "gdbmihelpers.cpp",
+ "gdbmihelpers.h",
+ "iinterfacepointer.h",
+ "knowntype.h",
+ "outputcallback.cpp",
+ "outputcallback.h",
+ "qtcreatorcdbextension.cpp",
+ "stringutils.cpp",
+ "stringutils.h",
+ "symbolgroup.cpp",
+ "symbolgroup.h",
+ "symbolgroupnode.cpp",
+ "symbolgroupnode.h",
+ "symbolgroupvalue.cpp",
+ "symbolgroupvalue.h",
+ ]
+}
+