diff options
-rw-r--r-- | qbs/imports/QtcDevHeaders.qbs | 4 | ||||
-rw-r--r-- | qbs/imports/QtcProduct.qbs | 2 | ||||
-rw-r--r-- | qbs/modules/qtc/qtc.js | 86 | ||||
-rw-r--r-- | qbs/modules/qtc/qtc.qbs | 10 | ||||
-rw-r--r-- | src/libs/cplusplus/cplusplus.qbs | 256 | ||||
-rw-r--r-- | src/libs/languageutils/languageutils.qbs | 29 | ||||
-rw-r--r-- | src/libs/qmljs/qmljs.qbs | 150 | ||||
-rw-r--r-- | src/plugins/cpptools/cpptools.qbs | 236 | ||||
-rw-r--r-- | src/plugins/qmldesigner/qmldesignerplugin.qbs | 19 |
9 files changed, 404 insertions, 388 deletions
diff --git a/qbs/imports/QtcDevHeaders.qbs b/qbs/imports/QtcDevHeaders.qbs index 3ca4730834..819983f27d 100644 --- a/qbs/imports/QtcDevHeaders.qbs +++ b/qbs/imports/QtcDevHeaders.qbs @@ -3,13 +3,15 @@ import qbs.FileInfo Product { property string productName: project.name + property string baseDir: sourceDirectory name: productName + " dev headers" condition: qtc.make_dev_package Depends { name: "qtc" } Group { + prefix: baseDir + '/' files: ["**/*.h"] qbs.install: true qbs.installDir: qtc.ide_include_path + '/' + FileInfo.fileName(product.sourceDirectory) - qbs.installSourceBase: product.sourceDirectory + qbs.installSourceBase: baseDir } } diff --git a/qbs/imports/QtcProduct.qbs b/qbs/imports/QtcProduct.qbs index 0e17a4145f..3c789ed3de 100644 --- a/qbs/imports/QtcProduct.qbs +++ b/qbs/imports/QtcProduct.qbs @@ -1,4 +1,5 @@ import qbs 1.0 +import qbs.FileInfo import QtcFunctions Product { @@ -7,6 +8,7 @@ Product { property bool install: true property string installDir property stringList installTags: type + property string fileName: FileInfo.fileName(sourceDirectory) + ".qbs" Depends { name: "cpp" } Depends { name: "qtc" } diff --git a/qbs/modules/qtc/qtc.js b/qbs/modules/qtc/qtc.js index ebaa063a7e..6220f6dc9d 100644 --- a/qbs/modules/qtc/qtc.js +++ b/qbs/modules/qtc/qtc.js @@ -14,77 +14,67 @@ function getExportBlock(productFile) } if (line.indexOf('}') === exportIndex) break; - exportBlock += line + '\n'; + exportBlock += " " + line.trim() + '\n'; } return exportBlock; } -function getDependsItemsFromExportBlock(exportBlock) +function insertOrAddToProperty(product, content, propertyName, value) { - var lines = exportBlock.split('\n'); - var dependsItems = ["Depends { name: 'cpp' }"]; - var dependsIndex = -1; - var currentDependsItem; - for (var i = 0; i < lines.length; ++i) { - var line = lines[i]; - if (dependsIndex !== -1) { - currentDependsItem += line; - if (line.indexOf('}') === dependsIndex) { - dependsItems.push(currentDependsItem); - dependsIndex = -1; - } - continue; - } - dependsIndex = line.indexOf("Depends {"); - if (dependsIndex === -1) - continue; - if (line.contains('}')) { - if (!dependsItems.contains("cpp")) - dependsItems.push(line); - dependsIndex = -1; - } else { - currentDependsItem = line; - } + var valueAsList = '[' + value + ']'; + var propertyNameIndex = content.indexOf(propertyName + ':'); + if (propertyNameIndex !== -1) { + var endListIndex = content.indexOf(']', propertyNameIndex); + if (endListIndex === -1) + throw "Failed to parse Export item of product '" + product.name + "'"; + var contentStart = content.slice(0, endListIndex + 1); + var contentEnd = content.slice(endListIndex + 1); + return contentStart + ".concat(" + valueAsList + ')' + contentEnd; } - return dependsItems; + return content + '\n' + propertyName + ": " + valueAsList; } -function getDependsItems(product) +function transformedExportBlock(product, input, output) { - var productFilePath = FileInfo.joinPaths(product.sourceDirectory, - FileInfo.fileName(product.sourceDirectory) + ".qbs"); + var productFilePath = FileInfo.joinPaths(product.sourceDirectory, product.fileName); var productFile = new TextFile(productFilePath, TextFile.ReadOnly); try { var exportBlock = getExportBlock(productFile); - return getDependsItemsFromExportBlock(exportBlock); + exportBlock = " Depends { name: 'cpp' }\n" + exportBlock; + var modulePath = FileInfo.joinPaths("/", + product.moduleProperty("qtc", "ide_qbs_modules_path"), product.name); + var includePath = FileInfo.joinPaths("/", + product.moduleProperty("qtc", "ide_include_path")); + var relPathToIncludes = FileInfo.relativePath(modulePath, includePath); + var absPathToIncludes = "path + '/" + relPathToIncludes + "'"; + exportBlock = exportBlock.replace(/product.sourceDirectory/g, absPathToIncludes + " + '/" + + FileInfo.fileName(product.sourceDirectory) + "'"); + var dataPath = FileInfo.joinPaths("/", product.moduleProperty("qtc", "ide_data_path")); + var relPathToData = FileInfo.relativePath(modulePath, dataPath); + exportBlock = exportBlock.replace(/qtc.export_data_base/g, "path + '/" + + relPathToData + "'"); + exportBlock = insertOrAddToProperty(product, exportBlock, "cpp.includePaths", + absPathToIncludes); + var libInstallPath = FileInfo.joinPaths("/", input.moduleProperty("qbs", "installDir")); + var relPathToLibrary = FileInfo.relativePath(modulePath, libInstallPath); + var fullPathToLibrary = "path + '/" + relPathToLibrary + "/" + input.fileName + "'"; + var libType = input.fileTags.contains("dynamiclibrary") ? "dynamic" : "static"; + exportBlock = insertOrAddToProperty(product, exportBlock, "cpp." + libType + "Libraries", + fullPathToLibrary); + return exportBlock; } finally { productFile.close(); } } -function writeModuleFile(product, input, output, dependsItems) +function writeModuleFile(output, content) { var moduleFile = new TextFile(output.filePath, TextFile.WriteOnly); try { moduleFile.writeLine("import qbs"); moduleFile.writeLine(""); moduleFile.writeLine("Module {") - for (var i = 0; i < dependsItems.length; ++i) { - moduleFile.writeLine(" " + dependsItems[i].trim()); - moduleFile.writeLine(""); - } - var includePath = FileInfo.joinPaths("/", - product.moduleProperty("qtc", "ide_include_path")); - var modulePath = FileInfo.joinPaths("/", - product.moduleProperty("qtc", "ide_qbs_modules_path"), product.name); - var relPathToIncludes = FileInfo.relativePath(modulePath, includePath); - moduleFile.writeLine(" cpp.includePaths: [path + '/" + relPathToIncludes + "']"); - var libInstallPath = FileInfo.joinPaths("/", input.moduleProperty("qbs", "installPrefix"), - input.moduleProperty("qbs", "installDir")); - var relPathToLibrary = FileInfo.relativePath(modulePath, libInstallPath); - var libType = input.fileTags.contains("dynamiclibrary") ? "dynamic" : "static"; - moduleFile.writeLine(" cpp." + libType + "Libraries: [path + '/" - + relPathToLibrary + "/" + input.fileName + "']"); + moduleFile.writeLine(content); moduleFile.writeLine("}"); } finally { moduleFile.close(); diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs index 1e1b8f90f2..42f61b981b 100644 --- a/qbs/modules/qtc/qtc.qbs +++ b/qbs/modules/qtc/qtc.qbs @@ -54,6 +54,9 @@ Module { property bool make_dev_package: false + // Will be replaced when creating modules from products + property string export_data_base: project.ide_source_tree + "/share/qtcreator" + property bool testsEnabled: Environment.getEnv("TEST") || qbs.buildVariant === "debug" property stringList generalDefines: [ "QT_CREATOR", @@ -65,6 +68,7 @@ Module { Rule { condition: make_dev_package inputs: [product.type.contains("dynamiclibrary") ? "dynamiclibrary" : "staticlibrary"] + explicitlyDependsOn: ["qbs"] Artifact { filePath: product.name + "-module.qbs" fileTags: ["qtc.dev-module"] @@ -73,8 +77,10 @@ Module { var cmd = new JavaScriptCommand(); cmd.description = "Creating " + output.fileName; cmd.sourceCode = function() { - var dependsItems = HelperFunctions.getDependsItems(product); - HelperFunctions.writeModuleFile(product, input, output, dependsItems); + var transformedExportBlock = HelperFunctions.transformedExportBlock(product, input, + output); + HelperFunctions.writeModuleFile(output, transformedExportBlock); + }; return [cmd]; } diff --git a/src/libs/cplusplus/cplusplus.qbs b/src/libs/cplusplus/cplusplus.qbs index 8d7c38c883..c9aae72b3e 100644 --- a/src/libs/cplusplus/cplusplus.qbs +++ b/src/libs/cplusplus/cplusplus.qbs @@ -1,134 +1,142 @@ import qbs 1.0 -QtcLibrary { +Project { name: "CPlusPlus" - cpp.includePaths: base.concat("../3rdparty") - cpp.defines: base.concat([ - "NDEBUG", - "CPLUSPLUS_BUILD_LIB" - ]) - cpp.optimization: "fast" + QtcDevHeaders { } + QtcDevHeaders { + productName: "cplusplus (3rd party)" + baseDir: sourceDirectory + "/../3rdparty/cplusplus" + } - Depends { name: "Qt.widgets" } - Depends { name: "Utils" } + QtcLibrary { + cpp.includePaths: base.concat("../3rdparty") + cpp.defines: base.concat([ + "NDEBUG", + "CPLUSPLUS_BUILD_LIB" + ]) + cpp.optimization: "fast" - Group { - name: "ThirdPartyCPlusPlus" - prefix: "../3rdparty/cplusplus/" - files: [ - "AST.cpp", - "AST.h", - "ASTClone.cpp", - "ASTMatch0.cpp", - "ASTMatcher.cpp", - "ASTMatcher.h", - "ASTPatternBuilder.cpp", - "ASTPatternBuilder.h", - "ASTVisit.cpp", - "ASTVisitor.cpp", - "ASTVisitor.h", - "ASTfwd.h", - "Bind.cpp", - "Bind.h", - "CPlusPlus.h", - "Control.cpp", - "Control.h", - "CoreTypes.cpp", - "CoreTypes.h", - "DiagnosticClient.cpp", - "DiagnosticClient.h", - "FullySpecifiedType.cpp", - "FullySpecifiedType.h", - "Keywords.cpp", - "Lexer.cpp", - "Lexer.h", - "LiteralTable.h", - "Literals.cpp", - "Literals.h", - "Matcher.cpp", - "Matcher.h", - "MemoryPool.cpp", - "MemoryPool.h", - "Name.cpp", - "Name.h", - "NameVisitor.cpp", - "NameVisitor.h", - "Names.cpp", - "Names.h", - "ObjectiveCAtKeywords.cpp", - "ObjectiveCTypeQualifiers.cpp", - "ObjectiveCTypeQualifiers.h", - "Parser.cpp", - "Parser.h", - "QtContextKeywords.cpp", - "QtContextKeywords.h", - "SafeMatcher.cpp", - "SafeMatcher.h", - "Scope.cpp", - "Scope.h", - "Symbol.cpp", - "Symbol.h", - "SymbolVisitor.h", - "Symbols.cpp", - "Symbols.h", - "Templates.cpp", - "Templates.h", - "Token.cpp", - "Token.h", - "TranslationUnit.cpp", - "TranslationUnit.h", - "Type.cpp", - "Type.h", - "TypeVisitor.cpp", - "TypeVisitor.h", - ] - } + Depends { name: "Qt.widgets" } + Depends { name: "Utils" } - Group { - name: "General" - files: [ - "AlreadyConsideredClassContainer.h", - "ASTParent.cpp", "ASTParent.h", - "ASTPath.cpp", "ASTPath.h", - "BackwardsScanner.cpp", "BackwardsScanner.h", - "CppDocument.cpp", "CppDocument.h", - "CppRewriter.cpp", "CppRewriter.h", - "cppmodelmanagerbase.cpp", "cppmodelmanagerbase.h", - "DependencyTable.cpp", "DependencyTable.h", - "DeprecatedGenTemplateInstance.cpp", "DeprecatedGenTemplateInstance.h", - "ExpressionUnderCursor.cpp", "ExpressionUnderCursor.h", - "FastPreprocessor.cpp", "FastPreprocessor.h", - "FindUsages.cpp", "FindUsages.h", - "Icons.cpp", "Icons.h", - "LookupContext.cpp", "LookupContext.h", - "LookupItem.cpp", "LookupItem.h", - "Macro.cpp", "Macro.h", - "MatchingText.cpp", "MatchingText.h", - "NamePrettyPrinter.cpp", "NamePrettyPrinter.h", - "Overview.cpp", "Overview.h", - "OverviewModel.cpp", "OverviewModel.h", - "PPToken.cpp", "PPToken.h", - "PreprocessorClient.cpp", "PreprocessorClient.h", - "PreprocessorEnvironment.cpp", "PreprocessorEnvironment.h", - "ResolveExpression.cpp", "ResolveExpression.h", - "SimpleLexer.cpp", "SimpleLexer.h", - "SnapshotSymbolVisitor.cpp", "SnapshotSymbolVisitor.h", - "SymbolNameVisitor.cpp", "SymbolNameVisitor.h", - "TypeOfExpression.cpp", "TypeOfExpression.h", - "TypePrettyPrinter.cpp", "TypePrettyPrinter.h", - "cplusplus.qrc", - "findcdbbreakpoint.cpp", "findcdbbreakpoint.h", - "pp-cctype.h", - "pp-engine.cpp", "pp-engine.h", - "pp-scanner.cpp", "pp-scanner.h", - "pp.h", - ] - } + Group { + name: "ThirdPartyCPlusPlus" + prefix: "../3rdparty/cplusplus/" + files: [ + "AST.cpp", + "AST.h", + "ASTClone.cpp", + "ASTMatch0.cpp", + "ASTMatcher.cpp", + "ASTMatcher.h", + "ASTPatternBuilder.cpp", + "ASTPatternBuilder.h", + "ASTVisit.cpp", + "ASTVisitor.cpp", + "ASTVisitor.h", + "ASTfwd.h", + "Bind.cpp", + "Bind.h", + "CPlusPlus.h", + "Control.cpp", + "Control.h", + "CoreTypes.cpp", + "CoreTypes.h", + "DiagnosticClient.cpp", + "DiagnosticClient.h", + "FullySpecifiedType.cpp", + "FullySpecifiedType.h", + "Keywords.cpp", + "Lexer.cpp", + "Lexer.h", + "LiteralTable.h", + "Literals.cpp", + "Literals.h", + "Matcher.cpp", + "Matcher.h", + "MemoryPool.cpp", + "MemoryPool.h", + "Name.cpp", + "Name.h", + "NameVisitor.cpp", + "NameVisitor.h", + "Names.cpp", + "Names.h", + "ObjectiveCAtKeywords.cpp", + "ObjectiveCTypeQualifiers.cpp", + "ObjectiveCTypeQualifiers.h", + "Parser.cpp", + "Parser.h", + "QtContextKeywords.cpp", + "QtContextKeywords.h", + "SafeMatcher.cpp", + "SafeMatcher.h", + "Scope.cpp", + "Scope.h", + "Symbol.cpp", + "Symbol.h", + "SymbolVisitor.h", + "Symbols.cpp", + "Symbols.h", + "Templates.cpp", + "Templates.h", + "Token.cpp", + "Token.h", + "TranslationUnit.cpp", + "TranslationUnit.h", + "Type.cpp", + "Type.h", + "TypeVisitor.cpp", + "TypeVisitor.h", + ] + } + + Group { + name: "General" + files: [ + "AlreadyConsideredClassContainer.h", + "ASTParent.cpp", "ASTParent.h", + "ASTPath.cpp", "ASTPath.h", + "BackwardsScanner.cpp", "BackwardsScanner.h", + "CppDocument.cpp", "CppDocument.h", + "CppRewriter.cpp", "CppRewriter.h", + "cppmodelmanagerbase.cpp", "cppmodelmanagerbase.h", + "DependencyTable.cpp", "DependencyTable.h", + "DeprecatedGenTemplateInstance.cpp", "DeprecatedGenTemplateInstance.h", + "ExpressionUnderCursor.cpp", "ExpressionUnderCursor.h", + "FastPreprocessor.cpp", "FastPreprocessor.h", + "FindUsages.cpp", "FindUsages.h", + "Icons.cpp", "Icons.h", + "LookupContext.cpp", "LookupContext.h", + "LookupItem.cpp", "LookupItem.h", + "Macro.cpp", "Macro.h", + "MatchingText.cpp", "MatchingText.h", + "NamePrettyPrinter.cpp", "NamePrettyPrinter.h", + "Overview.cpp", "Overview.h", + "OverviewModel.cpp", "OverviewModel.h", + "PPToken.cpp", "PPToken.h", + "PreprocessorClient.cpp", "PreprocessorClient.h", + "PreprocessorEnvironment.cpp", "PreprocessorEnvironment.h", + "ResolveExpression.cpp", "ResolveExpression.h", + "SimpleLexer.cpp", "SimpleLexer.h", + "SnapshotSymbolVisitor.cpp", "SnapshotSymbolVisitor.h", + "SymbolNameVisitor.cpp", "SymbolNameVisitor.h", + "TypeOfExpression.cpp", "TypeOfExpression.h", + "TypePrettyPrinter.cpp", "TypePrettyPrinter.h", + "cplusplus.qrc", + "findcdbbreakpoint.cpp", "findcdbbreakpoint.h", + "pp-cctype.h", + "pp-engine.cpp", "pp-engine.h", + "pp-scanner.cpp", "pp-scanner.h", + "pp.h", + ] + } - Export { - cpp.includePaths: [ - "../3rdparty" - ] + Export { + cpp.includePaths: [ + product.sourceDirectory + "/../3rdparty" + ] + } } } diff --git a/src/libs/languageutils/languageutils.qbs b/src/libs/languageutils/languageutils.qbs index 244b41d8fc..e91491c17b 100644 --- a/src/libs/languageutils/languageutils.qbs +++ b/src/libs/languageutils/languageutils.qbs @@ -1,21 +1,22 @@ import qbs 1.0 -QtcLibrary { +Project { name: "LanguageUtils" - cpp.defines: base.concat([ - "LANGUAGEUTILS_BUILD_DIR" - ]) - cpp.optimization: "fast" + QtcDevHeaders { } - Depends { name: "Qt.core" } + QtcLibrary { + cpp.defines: base.concat(["LANGUAGEUTILS_BUILD_DIR"]) + cpp.optimization: "fast" - files: [ - "componentversion.cpp", - "componentversion.h", - "fakemetaobject.cpp", - "fakemetaobject.h", - "languageutils_global.h", - ] -} + Depends { name: "Qt.core" } + files: [ + "componentversion.cpp", + "componentversion.h", + "fakemetaobject.cpp", + "fakemetaobject.h", + "languageutils_global.h", + ] + } +} diff --git a/src/libs/qmljs/qmljs.qbs b/src/libs/qmljs/qmljs.qbs index f5a08d95e7..1ac94d06e5 100644 --- a/src/libs/qmljs/qmljs.qbs +++ b/src/libs/qmljs/qmljs.qbs @@ -1,84 +1,86 @@ import qbs 1.0 -QtcLibrary { +Project { name: "QmlJS" - cpp.defines: base.concat([ - "QMLJS_BUILD_DIR" - ]) - cpp.optimization: "fast" + QtcDevHeaders { } - Depends { name: "ExtensionSystem" } - Depends { name: "Utils" } - Depends { name: "LanguageUtils" } - Depends { name: "CPlusPlus" } - Depends { name: "Qt"; submodules: ["widgets", "xml"] } + QtcLibrary { + cpp.defines: base.concat(["QMLJS_BUILD_DIR"]) + cpp.optimization: "fast" - Group { - name: "General" - files: [ - "jsoncheck.cpp", "jsoncheck.h", - "persistenttrie.cpp", "persistenttrie.h", - "qmljs_global.h", - "qmljsbind.cpp", "qmljsbind.h", - "qmljsbundle.cpp", "qmljsbundle.h", - "qmljscheck.cpp", "qmljscheck.h", - "qmljscodeformatter.cpp", "qmljscodeformatter.h", - "qmljscompletioncontextfinder.cpp", "qmljscompletioncontextfinder.h", - "qmljsconstants.h", - "qmljscontext.cpp", "qmljscontext.h", - "qmljsdescribevalue.cpp", "qmljsdescribevalue.h", - "qmljsdocument.cpp", "qmljsdocument.h", - "qmljsevaluate.cpp", "qmljsevaluate.h", - "qmljsfindexportedcpptypes.cpp", "qmljsfindexportedcpptypes.h", - "qmljsicons.cpp", "qmljsicons.h", - "qmljsicontextpane.h", - "qmljsimportdependencies.cpp", "qmljsimportdependencies.h", - "qmljsindenter.cpp", "qmljsindenter.h", - "qmljsinterpreter.cpp", "qmljsinterpreter.h", - "qmljsdialect.cpp", "qmljsdialect.h", - "qmljslineinfo.cpp", "qmljslineinfo.h", - "qmljslink.cpp", "qmljslink.h", - "qmljsmodelmanagerinterface.cpp", "qmljsmodelmanagerinterface.h", - "qmljsplugindumper.cpp", "qmljsplugindumper.h", - "qmljspropertyreader.cpp", "qmljspropertyreader.h", - "qmljsqrcparser.cpp", "qmljsqrcparser.h", - "qmljsreformatter.cpp", "qmljsreformatter.h", - "qmljsrewriter.cpp", "qmljsrewriter.h", - "qmljsscanner.cpp", "qmljsscanner.h", - "qmljsscopeastpath.cpp", "qmljsscopeastpath.h", - "qmljsscopebuilder.cpp", "qmljsscopebuilder.h", - "qmljsscopechain.cpp", "qmljsscopechain.h", - "qmljssimplereader.cpp", "qmljssimplereader.h", - "qmljsstaticanalysismessage.cpp", "qmljsstaticanalysismessage.h", - "qmljstypedescriptionreader.cpp", "qmljstypedescriptionreader.h", - "qmljsutils.cpp", "qmljsutils.h", - "qmljsvalueowner.cpp", "qmljsvalueowner.h", - "qmljsviewercontext.cpp", "qmljsviewercontext.h" - ] - } + Depends { name: "ExtensionSystem" } + Depends { name: "Utils" } + Depends { name: "LanguageUtils" } + Depends { name: "CPlusPlus" } + Depends { name: "Qt"; submodules: ["widgets", "xml"] } - Group { - name: "Parser" - prefix: "parser/" - files: [ - "qmldirparser.cpp", "qmldirparser_p.h", - "qmlerror.cpp", "qmlerror.h", - "qmljsast.cpp", "qmljsast_p.h", - "qmljsastfwd_p.h", - "qmljsastvisitor.cpp", "qmljsastvisitor_p.h", - "qmljsengine_p.cpp", "qmljsengine_p.h", - "qmljsglobal_p.h", - "qmljsgrammar.cpp", "qmljsgrammar_p.h", - "qmljskeywords_p.h", - "qmljslexer.cpp", "qmljslexer_p.h", - "qmljsmemorypool_p.h", - "qmljsparser.cpp", "qmljsparser_p.h", - ] - } + Group { + name: "General" + files: [ + "jsoncheck.cpp", "jsoncheck.h", + "persistenttrie.cpp", "persistenttrie.h", + "qmljs_global.h", + "qmljsbind.cpp", "qmljsbind.h", + "qmljsbundle.cpp", "qmljsbundle.h", + "qmljscheck.cpp", "qmljscheck.h", + "qmljscodeformatter.cpp", "qmljscodeformatter.h", + "qmljscompletioncontextfinder.cpp", "qmljscompletioncontextfinder.h", + "qmljsconstants.h", + "qmljscontext.cpp", "qmljscontext.h", + "qmljsdescribevalue.cpp", "qmljsdescribevalue.h", + "qmljsdocument.cpp", "qmljsdocument.h", + "qmljsevaluate.cpp", "qmljsevaluate.h", + "qmljsfindexportedcpptypes.cpp", "qmljsfindexportedcpptypes.h", + "qmljsicons.cpp", "qmljsicons.h", + "qmljsicontextpane.h", + "qmljsimportdependencies.cpp", "qmljsimportdependencies.h", + "qmljsindenter.cpp", "qmljsindenter.h", + "qmljsinterpreter.cpp", "qmljsinterpreter.h", + "qmljsdialect.cpp", "qmljsdialect.h", + "qmljslineinfo.cpp", "qmljslineinfo.h", + "qmljslink.cpp", "qmljslink.h", + "qmljsmodelmanagerinterface.cpp", "qmljsmodelmanagerinterface.h", + "qmljsplugindumper.cpp", "qmljsplugindumper.h", + "qmljspropertyreader.cpp", "qmljspropertyreader.h", + "qmljsqrcparser.cpp", "qmljsqrcparser.h", + "qmljsreformatter.cpp", "qmljsreformatter.h", + "qmljsrewriter.cpp", "qmljsrewriter.h", + "qmljsscanner.cpp", "qmljsscanner.h", + "qmljsscopeastpath.cpp", "qmljsscopeastpath.h", + "qmljsscopebuilder.cpp", "qmljsscopebuilder.h", + "qmljsscopechain.cpp", "qmljsscopechain.h", + "qmljssimplereader.cpp", "qmljssimplereader.h", + "qmljsstaticanalysismessage.cpp", "qmljsstaticanalysismessage.h", + "qmljstypedescriptionreader.cpp", "qmljstypedescriptionreader.h", + "qmljsutils.cpp", "qmljsutils.h", + "qmljsvalueowner.cpp", "qmljsvalueowner.h", + "qmljsviewercontext.cpp", "qmljsviewercontext.h" + ] + } - Export { - Depends { name: "CPlusPlus" } - Depends { name: "LanguageUtils" } + Group { + name: "Parser" + prefix: "parser/" + files: [ + "qmldirparser.cpp", "qmldirparser_p.h", + "qmlerror.cpp", "qmlerror.h", + "qmljsast.cpp", "qmljsast_p.h", + "qmljsastfwd_p.h", + "qmljsastvisitor.cpp", "qmljsastvisitor_p.h", + "qmljsengine_p.cpp", "qmljsengine_p.h", + "qmljsglobal_p.h", + "qmljsgrammar.cpp", "qmljsgrammar_p.h", + "qmljskeywords_p.h", + "qmljslexer.cpp", "qmljslexer_p.h", + "qmljsmemorypool_p.h", + "qmljsparser.cpp", "qmljsparser_p.h", + ] + } + + Export { + Depends { name: "CPlusPlus" } + Depends { name: "LanguageUtils" } + } } } diff --git a/src/plugins/cpptools/cpptools.qbs b/src/plugins/cpptools/cpptools.qbs index 1cfab29751..db2a45c7f3 100644 --- a/src/plugins/cpptools/cpptools.qbs +++ b/src/plugins/cpptools/cpptools.qbs @@ -1,132 +1,136 @@ import qbs 1.0 import qbs.FileInfo -QtcPlugin { +Project { name: "CppTools" - Depends { name: "Qt.widgets" } - Depends { name: "CPlusPlus" } - Depends { name: "Utils" } + QtcDevHeaders { } - Depends { name: "Core" } - Depends { name: "TextEditor" } - Depends { name: "ProjectExplorer" } - Depends { name: "app_version_header" } + QtcPlugin { + Depends { name: "Qt.widgets" } + Depends { name: "CPlusPlus" } + Depends { name: "Utils" } - pluginTestDepends: [ - "CppEditor", - "QmakeProjectManager", - ] + Depends { name: "Core" } + Depends { name: "TextEditor" } + Depends { name: "ProjectExplorer" } + Depends { name: "app_version_header" } - cpp.defines: base - Properties { - condition: qbs.toolchain.contains("msvc") - cpp.defines: base.concat("_SCL_SECURE_NO_WARNINGS") - } + pluginTestDepends: [ + "CppEditor", + "QmakeProjectManager", + ] - files: [ - "abstracteditorsupport.cpp", "abstracteditorsupport.h", - "baseeditordocumentparser.cpp", "baseeditordocumentparser.h", - "baseeditordocumentprocessor.cpp", "baseeditordocumentprocessor.h", - "builtineditordocumentparser.cpp", "builtineditordocumentparser.h", - "builtineditordocumentprocessor.cpp", "builtineditordocumentprocessor.h", - "builtinindexingsupport.cpp", "builtinindexingsupport.h", - "clangdiagnosticconfig.cpp", "clangdiagnosticconfig.h", - "clangdiagnosticconfigsmodel.cpp", "clangdiagnosticconfigsmodel.h", - "clangdiagnosticconfigswidget.cpp", "clangdiagnosticconfigswidget.h", - "clangdiagnosticconfigswidget.ui", - "compileroptionsbuilder.cpp", "compileroptionsbuilder.h", - "cppchecksymbols.cpp", "cppchecksymbols.h", - "cppclassesfilter.cpp", "cppclassesfilter.h", - "cppcodeformatter.cpp", "cppcodeformatter.h", - "cppcodemodelinspectordumper.cpp", "cppcodemodelinspectordumper.h", - "cppcodemodelsettings.cpp", "cppcodemodelsettings.h", - "cppcodemodelsettingspage.cpp", "cppcodemodelsettingspage.h", "cppcodemodelsettingspage.ui", - "cppcodestylepreferences.cpp", "cppcodestylepreferences.h", - "cppcodestylepreferencesfactory.cpp", "cppcodestylepreferencesfactory.h", - "cppcodestylesettings.cpp", "cppcodestylesettings.h", - "cppcodestylesettingspage.cpp", "cppcodestylesettingspage.h", "cppcodestylesettingspage.ui", - "cppcompletionassist.cpp", "cppcompletionassist.h", - "cppcompletionassistprocessor.cpp", "cppcompletionassistprocessor.h", - "cppcompletionassistprovider.cpp", "cppcompletionassistprovider.h", - "cppcurrentdocumentfilter.cpp", "cppcurrentdocumentfilter.h", - "cppdoxygen.cpp", "cppdoxygen.h", - "cppeditoroutline.cpp", "cppeditoroutline.h", - "cppfileiterationorder.cpp", "cppfileiterationorder.h", - "cppfilesettingspage.cpp", "cppfilesettingspage.h", "cppfilesettingspage.ui", - "cppfindreferences.cpp", "cppfindreferences.h", - "cppfunctionsfilter.cpp", "cppfunctionsfilter.h", - "cppincludesfilter.cpp", "cppincludesfilter.h", - "cppindexingsupport.cpp", "cppindexingsupport.h", - "cpplocalsymbols.cpp", "cpplocalsymbols.h", - "cpplocatordata.cpp", "cpplocatordata.h", - "cpplocatorfilter.cpp", "cpplocatorfilter.h", - "cppmodelmanager.cpp", "cppmodelmanager.h", - "cppmodelmanagersupport.cpp", "cppmodelmanagersupport.h", - "cppmodelmanagersupportinternal.cpp", "cppmodelmanagersupportinternal.h", - "cpppointerdeclarationformatter.cpp", "cpppointerdeclarationformatter.h", - "cppprojectfile.cpp", "cppprojectfile.h", - "cppqtstyleindenter.cpp", "cppqtstyleindenter.h", - "cpprefactoringchanges.cpp", "cpprefactoringchanges.h", - "cppselectionchanger.cpp", "cppselectionchanger.h", - "cppsemanticinfo.cpp", "cppsemanticinfo.h", - "cppsemanticinfoupdater.cpp", "cppsemanticinfoupdater.h", - "cppsourceprocessor.cpp", "cppsourceprocessor.h", - "cpptoolsbridge.cpp", "cpptoolsbridge.h", - "cpptoolsbridgeinterface.h", - "cpptoolsbridgeqtcreatorimplementation.cpp", "cpptoolsbridgeqtcreatorimplementation.h", - "cpptools.qrc", - "cpptools_global.h", - "cpptoolsconstants.h", - "cpptoolsjsextension.cpp", "cpptoolsjsextension.h", - "cpptoolsplugin.cpp", "cpptoolsplugin.h", - "cpptoolsreuse.cpp", "cpptoolsreuse.h", - "cpptoolssettings.cpp", "cpptoolssettings.h", - "cppworkingcopy.cpp", "cppworkingcopy.h", - "doxygengenerator.cpp", "doxygengenerator.h", - "editordocumenthandle.cpp", "editordocumenthandle.h", - "functionutils.cpp", "functionutils.h", - "generatedcodemodelsupport.cpp", "generatedcodemodelsupport.h", - "includeutils.cpp", "includeutils.h", - "indexitem.cpp", "indexitem.h", - "insertionpointlocator.cpp", "insertionpointlocator.h", - "projectinfo.cpp", "projectinfo.h", - "projectpart.cpp", "projectpart.h", - "projectpartbuilder.cpp", "projectpartbuilder.h", - "projectpartheaderpath.h", - "searchsymbols.cpp", "searchsymbols.h", - "semantichighlighter.cpp", "semantichighlighter.h", - "senddocumenttracker.cpp", "senddocumenttracker.h", - "stringtable.cpp", "stringtable.h", - "symbolfinder.cpp", "symbolfinder.h", - "symbolsfindfilter.cpp", "symbolsfindfilter.h", - "typehierarchybuilder.cpp", "typehierarchybuilder.h", - ] + cpp.defines: base + Properties { + condition: qbs.toolchain.contains("msvc") + cpp.defines: base.concat("_SCL_SECURE_NO_WARNINGS") + } - Group { - name: "Tests" - condition: qtc.testsEnabled files: [ - "cppcodegen_test.cpp", - "cppcompletion_test.cpp", - "cppheadersource_test.cpp", - "cpplocalsymbols_test.cpp", - "cpplocatorfilter_test.cpp", - "cppmodelmanager_test.cpp", - "cpppointerdeclarationformatter_test.cpp", - "cppsourceprocessertesthelper.cpp", "cppsourceprocessertesthelper.h", - "cppsourceprocessor_test.cpp", - "cpptoolstestcase.cpp", "cpptoolstestcase.h", - "modelmanagertesthelper.cpp", "modelmanagertesthelper.h", - "symbolsearcher_test.cpp", - "typehierarchybuilder_test.cpp", + "abstracteditorsupport.cpp", "abstracteditorsupport.h", + "baseeditordocumentparser.cpp", "baseeditordocumentparser.h", + "baseeditordocumentprocessor.cpp", "baseeditordocumentprocessor.h", + "builtineditordocumentparser.cpp", "builtineditordocumentparser.h", + "builtineditordocumentprocessor.cpp", "builtineditordocumentprocessor.h", + "builtinindexingsupport.cpp", "builtinindexingsupport.h", + "clangdiagnosticconfig.cpp", "clangdiagnosticconfig.h", + "clangdiagnosticconfigsmodel.cpp", "clangdiagnosticconfigsmodel.h", + "clangdiagnosticconfigswidget.cpp", "clangdiagnosticconfigswidget.h", + "clangdiagnosticconfigswidget.ui", + "compileroptionsbuilder.cpp", "compileroptionsbuilder.h", + "cppchecksymbols.cpp", "cppchecksymbols.h", + "cppclassesfilter.cpp", "cppclassesfilter.h", + "cppcodeformatter.cpp", "cppcodeformatter.h", + "cppcodemodelinspectordumper.cpp", "cppcodemodelinspectordumper.h", + "cppcodemodelsettings.cpp", "cppcodemodelsettings.h", + "cppcodemodelsettingspage.cpp", "cppcodemodelsettingspage.h", "cppcodemodelsettingspage.ui", + "cppcodestylepreferences.cpp", "cppcodestylepreferences.h", + "cppcodestylepreferencesfactory.cpp", "cppcodestylepreferencesfactory.h", + "cppcodestylesettings.cpp", "cppcodestylesettings.h", + "cppcodestylesettingspage.cpp", "cppcodestylesettingspage.h", "cppcodestylesettingspage.ui", + "cppcompletionassist.cpp", "cppcompletionassist.h", + "cppcompletionassistprocessor.cpp", "cppcompletionassistprocessor.h", + "cppcompletionassistprovider.cpp", "cppcompletionassistprovider.h", + "cppcurrentdocumentfilter.cpp", "cppcurrentdocumentfilter.h", + "cppdoxygen.cpp", "cppdoxygen.h", + "cppeditoroutline.cpp", "cppeditoroutline.h", + "cppfileiterationorder.cpp", "cppfileiterationorder.h", + "cppfilesettingspage.cpp", "cppfilesettingspage.h", "cppfilesettingspage.ui", + "cppfindreferences.cpp", "cppfindreferences.h", + "cppfunctionsfilter.cpp", "cppfunctionsfilter.h", + "cppincludesfilter.cpp", "cppincludesfilter.h", + "cppindexingsupport.cpp", "cppindexingsupport.h", + "cpplocalsymbols.cpp", "cpplocalsymbols.h", + "cpplocatordata.cpp", "cpplocatordata.h", + "cpplocatorfilter.cpp", "cpplocatorfilter.h", + "cppmodelmanager.cpp", "cppmodelmanager.h", + "cppmodelmanagersupport.cpp", "cppmodelmanagersupport.h", + "cppmodelmanagersupportinternal.cpp", "cppmodelmanagersupportinternal.h", + "cpppointerdeclarationformatter.cpp", "cpppointerdeclarationformatter.h", + "cppprojectfile.cpp", "cppprojectfile.h", + "cppqtstyleindenter.cpp", "cppqtstyleindenter.h", + "cpprefactoringchanges.cpp", "cpprefactoringchanges.h", + "cppselectionchanger.cpp", "cppselectionchanger.h", + "cppsemanticinfo.cpp", "cppsemanticinfo.h", + "cppsemanticinfoupdater.cpp", "cppsemanticinfoupdater.h", + "cppsourceprocessor.cpp", "cppsourceprocessor.h", + "cpptoolsbridge.cpp", "cpptoolsbridge.h", + "cpptoolsbridgeinterface.h", + "cpptoolsbridgeqtcreatorimplementation.cpp", "cpptoolsbridgeqtcreatorimplementation.h", + "cpptools.qrc", + "cpptools_global.h", + "cpptoolsconstants.h", + "cpptoolsjsextension.cpp", "cpptoolsjsextension.h", + "cpptoolsplugin.cpp", "cpptoolsplugin.h", + "cpptoolsreuse.cpp", "cpptoolsreuse.h", + "cpptoolssettings.cpp", "cpptoolssettings.h", + "cppworkingcopy.cpp", "cppworkingcopy.h", + "doxygengenerator.cpp", "doxygengenerator.h", + "editordocumenthandle.cpp", "editordocumenthandle.h", + "functionutils.cpp", "functionutils.h", + "generatedcodemodelsupport.cpp", "generatedcodemodelsupport.h", + "includeutils.cpp", "includeutils.h", + "indexitem.cpp", "indexitem.h", + "insertionpointlocator.cpp", "insertionpointlocator.h", + "projectinfo.cpp", "projectinfo.h", + "projectpart.cpp", "projectpart.h", + "projectpartbuilder.cpp", "projectpartbuilder.h", + "projectpartheaderpath.h", + "searchsymbols.cpp", "searchsymbols.h", + "semantichighlighter.cpp", "semantichighlighter.h", + "senddocumenttracker.cpp", "senddocumenttracker.h", + "stringtable.cpp", "stringtable.h", + "symbolfinder.cpp", "symbolfinder.h", + "symbolsfindfilter.cpp", "symbolsfindfilter.h", + "typehierarchybuilder.cpp", "typehierarchybuilder.h", ] - cpp.defines: outer.concat(['SRCDIR="' + FileInfo.path(filePath) + '"']) - } + Group { + name: "Tests" + condition: qtc.testsEnabled + files: [ + "cppcodegen_test.cpp", + "cppcompletion_test.cpp", + "cppheadersource_test.cpp", + "cpplocalsymbols_test.cpp", + "cpplocatorfilter_test.cpp", + "cppmodelmanager_test.cpp", + "cpppointerdeclarationformatter_test.cpp", + "cppsourceprocessertesthelper.cpp", "cppsourceprocessertesthelper.h", + "cppsourceprocessor_test.cpp", + "cpptoolstestcase.cpp", "cpptoolstestcase.h", + "modelmanagertesthelper.cpp", "modelmanagertesthelper.h", + "symbolsearcher_test.cpp", + "typehierarchybuilder_test.cpp", + ] - Export { - Depends { name: "CPlusPlus" } - Depends { name: "Qt.concurrent" } + cpp.defines: outer.concat(['SRCDIR="' + FileInfo.path(filePath) + '"']) + } + + Export { + Depends { name: "CPlusPlus" } + Depends { name: "Qt.concurrent" } + } } } diff --git a/src/plugins/qmldesigner/qmldesignerplugin.qbs b/src/plugins/qmldesigner/qmldesignerplugin.qbs index e02756d287..99f8b0d7b8 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.qbs +++ b/src/plugins/qmldesigner/qmldesignerplugin.qbs @@ -1,6 +1,5 @@ import qbs 1.0 - -import QtcPlugin +import qbs.FileInfo Project { name: "QmlDesigner" @@ -8,6 +7,8 @@ Project { QtcDevHeaders { } QtcPlugin { + fileName: FileInfo.fileName(filePath) + Depends { name: "Qt"; submodules: [ @@ -59,13 +60,13 @@ Project { Export { Depends { name: "QmlJS" } cpp.includePaths: base.concat([ - ".", - "components/componentcore", - "components/formeditor", - "components/integration", - "designercore", - "designercore/include", - project.ide_source_tree + "/share/qtcreator/qml/qmlpuppet/interfaces", + product.sourceDirectory, + product.sourceDirectory + "/components/componentcore", + product.sourceDirectory + "/components/formeditor", + product.sourceDirectory + "/components/integration", + product.sourceDirectory + "/designercore", + product.sourceDirectory + "/designercore/include", + qtc.export_data_base + "/qml/qmlpuppet/interfaces", ]) } |