From ba20d638cf8be0b1b68c2664b27df779b891e2a3 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Thu, 29 Jan 2015 16:59:17 +0100 Subject: [PATCH] C++: Add cplusplus tools to qtcreator.qbs Change-Id: I19e31ec13a6f726eff5938bca191c251abb50b4d Reviewed-by: Christian Kandeler --- src/tools/cplusplus-ast2png/cplusplus-ast2png.qbs | 6 ++++++ .../cplusplus-frontend/cplusplus-frontend.qbs | 6 ++++++ .../cplusplus-mkvisitor/cplusplus-mkvisitor.qbs | 7 +++++++ src/tools/cplusplus-shared/CPlusPlusTool.qbs | 7 +++++++ .../CPlusPlusToolUsingCustomUtils.qbs | 15 +++++++++++++++ .../cplusplus-update-frontend.qbs | 12 ++++++++++++ src/tools/cplusplustools.qbs | 10 ++++++++++ src/tools/tools.qbs | 1 + 8 files changed, 64 insertions(+) create mode 100644 src/tools/cplusplus-ast2png/cplusplus-ast2png.qbs create mode 100644 src/tools/cplusplus-frontend/cplusplus-frontend.qbs create mode 100644 src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.qbs create mode 100644 src/tools/cplusplus-shared/CPlusPlusTool.qbs create mode 100644 src/tools/cplusplus-shared/CPlusPlusToolUsingCustomUtils.qbs create mode 100644 src/tools/cplusplus-update-frontend/cplusplus-update-frontend.qbs create mode 100644 src/tools/cplusplustools.qbs diff --git a/src/tools/cplusplus-ast2png/cplusplus-ast2png.qbs b/src/tools/cplusplus-ast2png/cplusplus-ast2png.qbs new file mode 100644 index 00000000000..060176e2b30 --- /dev/null +++ b/src/tools/cplusplus-ast2png/cplusplus-ast2png.qbs @@ -0,0 +1,6 @@ +import "../cplusplus-shared/CPlusPlusToolUsingCustomUtils.qbs" as CPlusPlusToolUsingCustomUtils + +CPlusPlusToolUsingCustomUtils { + name: "cplusplus-ast2png" + files: base.concat(["cplusplus-ast2png.cpp"]) +} diff --git a/src/tools/cplusplus-frontend/cplusplus-frontend.qbs b/src/tools/cplusplus-frontend/cplusplus-frontend.qbs new file mode 100644 index 00000000000..56b3d28c194 --- /dev/null +++ b/src/tools/cplusplus-frontend/cplusplus-frontend.qbs @@ -0,0 +1,6 @@ +import "../cplusplus-shared/CPlusPlusToolUsingCustomUtils.qbs" as CPlusPlusToolUsingCustomUtils + +CPlusPlusToolUsingCustomUtils { + name: "cplusplus-frontend" + files: base.concat("cplusplus-frontend.cpp") +} diff --git a/src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.qbs b/src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.qbs new file mode 100644 index 00000000000..064e1967984 --- /dev/null +++ b/src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.qbs @@ -0,0 +1,7 @@ +import "../cplusplus-shared/CPlusPlusToolUsingCustomUtils.qbs" as CPlusPlusToolUsingCustomUtils + +CPlusPlusToolUsingCustomUtils { + name: "cplusplus-mkvisitor" + cpp.defines: base.concat('PATH_AST_H="' + path + '/../../libs/3rdparty/cplusplus/AST.h"') + files: base.concat("cplusplus-mkvisitor.cpp") +} diff --git a/src/tools/cplusplus-shared/CPlusPlusTool.qbs b/src/tools/cplusplus-shared/CPlusPlusTool.qbs new file mode 100644 index 00000000000..55c4aff9409 --- /dev/null +++ b/src/tools/cplusplus-shared/CPlusPlusTool.qbs @@ -0,0 +1,7 @@ +import qbs 1.0 + +QtcTool { + Depends { name: "Qt"; submodules: ["core", "widgets"]; } + Depends { name: "CPlusPlus" } + Depends { name: "Utils" } +} diff --git a/src/tools/cplusplus-shared/CPlusPlusToolUsingCustomUtils.qbs b/src/tools/cplusplus-shared/CPlusPlusToolUsingCustomUtils.qbs new file mode 100644 index 00000000000..4b7c607ce3e --- /dev/null +++ b/src/tools/cplusplus-shared/CPlusPlusToolUsingCustomUtils.qbs @@ -0,0 +1,15 @@ +import "../cplusplus-shared/CPlusPlusTool.qbs" as CPlusPlusTool + +CPlusPlusTool { + Depends { name: "Qt"; submodules: ["core", "widgets"]; } + Depends { name: "CPlusPlus" } + Depends { name: "Utils" } + + cpp.includePaths: base.concat(path) + cpp.defines: base.concat('PATH_PREPROCESSOR_CONFIG="' + path + '/pp-configuration.inc"') + + files: [ + path + '/utils.h', + path + '/utils.cpp', + ] +} diff --git a/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.qbs b/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.qbs new file mode 100644 index 00000000000..66dbba53723 --- /dev/null +++ b/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.qbs @@ -0,0 +1,12 @@ +import "../cplusplus-shared/CPlusPlusTool.qbs" as CPlusPlusTool + +CPlusPlusTool { + name: "cplusplus-update-frontend" + + cpp.defines: base.concat([ + 'PATH_CPP_FRONTEND="' + path + '/../../libs/3rdparty/cplusplus"', + 'PATH_DUMPERS_FILE="' + path + '/../cplusplus-ast2png/dumpers.inc"', + ]) + + files: "cplusplus-update-frontend.cpp" +} diff --git a/src/tools/cplusplustools.qbs b/src/tools/cplusplustools.qbs new file mode 100644 index 00000000000..1b1bec39e08 --- /dev/null +++ b/src/tools/cplusplustools.qbs @@ -0,0 +1,10 @@ +Project { + name: "CPlusPlus Tools" + condition: qbs.getEnv("BUILD_CPLUSPLUS_TOOLS") + references: [ + "cplusplus-ast2png/cplusplus-ast2png.qbs", + "cplusplus-frontend/cplusplus-frontend.qbs", + "cplusplus-mkvisitor/cplusplus-mkvisitor.qbs", + "cplusplus-update-frontend/cplusplus-update-frontend.qbs", + ] +} diff --git a/src/tools/tools.qbs b/src/tools/tools.qbs index 0217e73d82a..faeb1cce12f 100644 --- a/src/tools/tools.qbs +++ b/src/tools/tools.qbs @@ -4,6 +4,7 @@ Project { name: "Tools" references: [ "buildoutputparser/buildoutputparser.qbs", + "cplusplustools.qbs", "qtcdebugger/qtcdebugger.qbs", "qtcreatorcrashhandler/qtcreatorcrashhandler.qbs", "qtpromaker/qtpromaker.qbs",