diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-08-04 16:27:50 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-08-05 13:28:19 +0200 |
commit | 59b34b6b539c78384ea3fc4fd018fe063b4ede53 (patch) | |
tree | 88b17c45f7b565a89dfc9af407ba4261a8f6f7e7 | |
parent | c4eb09e9fb836723b4f6d538f93868202e2e9758 (diff) | |
download | qt-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.qbs | 1 | ||||
-rw-r--r-- | src/libs/qtcreatorcdbext/qtcreatorcdbext.qbs | 77 |
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", + ] +} + |