diff --git a/qbs/imports/QtcAutotest.qbs b/qbs/imports/QtcAutotest.qbs index 37e63e456de..35d67e7af2f 100644 --- a/qbs/imports/QtcAutotest.qbs +++ b/qbs/imports/QtcAutotest.qbs @@ -12,8 +12,8 @@ QtcProduct { + FileInfo.relativePath(project.ide_source_tree, sourceDirectory) cpp.rpaths: [ - project.buildDirectory + '/' + project.ide_library_path, - project.buildDirectory + '/' + project.ide_plugin_path + project.buildDirectory + '/' + qtc.ide_library_path, + project.buildDirectory + '/' + qtc.ide_plugin_path ] cpp.minimumOsxVersion: "10.7" cpp.defines: base.filter(function(d) { return d != "QT_RESTRICTED_CAST_FROM_ASCII"; }) @@ -28,6 +28,6 @@ QtcProduct { // absolute paths to resources in the build directory. // cpp.rpaths: qbs.targetOS.contains("osx") // ? ["@loader_path/../Frameworks", "@loader_path/../PlugIns"] - // : ["$ORIGIN/../" + project.libDirName + "/qtcreator", - // "$ORIGIN/../" project.libDirName + "/qtcreator/plugins"] + // : ["$ORIGIN/../" + qtc.libDirName + "/qtcreator", + // "$ORIGIN/../" qtc.libDirName + "/qtcreator/plugins"] } diff --git a/qbs/imports/QtcDocumentation.qbs b/qbs/imports/QtcDocumentation.qbs index 503143da5b9..350033be174 100644 --- a/qbs/imports/QtcDocumentation.qbs +++ b/qbs/imports/QtcDocumentation.qbs @@ -4,6 +4,7 @@ Product { builtByDefault: false type: [isOnlineDoc ? "qdoc-output" : "qch"] Depends { name: "Qt.core" } + Depends { name: "qtc" } property path mainDocConfFile property bool isOnlineDoc @@ -14,11 +15,11 @@ Product { fileTags: ["qdocconf-main"] } - property string versionTag: project.qtcreator_version.replace(/\.|-/g, "") + property string versionTag: qtc.qtcreator_version.replace(/\.|-/g, "") Qt.core.qdocEnvironment: [ "QTC_LICENSE_TYPE=" + project.licenseType, - "QTC_VERSION=" + project.qtcreator_version, - "QTC_VERSION_TAG=" + project.qtcreator_version, + "QTC_VERSION=" + qtc.qtcreator_version, + "QTC_VERSION_TAG=" + qtc.qtcreator_version, "SRCDIR=" + sourceDirectory, "QT_INSTALL_DOCS=" + Qt.core.docPath, "QDOC_INDEX_DIR=" + Qt.core.docPath, @@ -28,6 +29,6 @@ Product { Group { fileTagsFilter: ["qch"] qbs.install: !qbs.targetOS.contains("osx") - qbs.installDir: project.ide_doc_path + qbs.installDir: qtc.ide_doc_path } } diff --git a/qbs/imports/QtcLibrary.qbs b/qbs/imports/QtcLibrary.qbs index c0f8a5c95bd..8b591e067d7 100644 --- a/qbs/imports/QtcLibrary.qbs +++ b/qbs/imports/QtcLibrary.qbs @@ -3,21 +3,21 @@ import QtcFunctions QtcProduct { type: ["dynamiclibrary", "dynamiclibrary_symlink"] - installDir: project.ide_library_path + installDir: qtc.ide_library_path Depends { - condition: project.testsEnabled + condition: qtc.testsEnabled name: "Qt.test" } targetName: QtcFunctions.qtLibraryName(qbs, name) - destinationDirectory: project.ide_library_path + destinationDirectory: qtc.ide_library_path cpp.linkerFlags: { var flags = base; if (qbs.buildVariant == "debug" && qbs.toolchain.contains("msvc")) flags.push("/INCREMENTAL:NO"); // Speed up startup time when debugging with cdb if (qbs.targetOS.contains("osx")) - flags.push("-compatibility_version", project.qtcreator_compat_version); + flags.push("-compatibility_version", qtc.qtcreator_compat_version); return flags; } cpp.installNamePrefix: "@rpath" diff --git a/qbs/imports/QtcPlugin.qbs b/qbs/imports/QtcPlugin.qbs index c1d6b70ccc4..f35bdf85f57 100644 --- a/qbs/imports/QtcPlugin.qbs +++ b/qbs/imports/QtcPlugin.qbs @@ -4,7 +4,7 @@ import QtcFunctions QtcProduct { type: ["dynamiclibrary", "pluginSpec"] - installDir: project.ide_plugin_path + installDir: qtc.ide_plugin_path property var pluginJsonReplacements property var pluginRecommends: [] @@ -14,12 +14,12 @@ QtcProduct { condition: QtcFunctions.versionIsAtLeast(Qt.core.version, minimumQtVersion) targetName: QtcFunctions.qtLibraryName(qbs, name) - destinationDirectory: project.ide_plugin_path + destinationDirectory: qtc.ide_plugin_path Depends { name: "ExtensionSystem" } Depends { name: "pluginjson" } Depends { - condition: project.testsEnabled + condition: qtc.testsEnabled name: "Qt.test" } @@ -34,7 +34,7 @@ QtcProduct { if (qbs.buildVariant == "debug" && qbs.toolchain.contains("msvc")) flags.push("/INCREMENTAL:NO"); // Speed up startup time when debugging with cdb if (qbs.targetOS.contains("osx")) - flags.push("-compatibility_version", project.qtcreator_compat_version); + flags.push("-compatibility_version", qtc.qtcreator_compat_version); return flags; } diff --git a/qbs/imports/QtcProduct.qbs b/qbs/imports/QtcProduct.qbs index daf56077ba7..312fa72fd4b 100644 --- a/qbs/imports/QtcProduct.qbs +++ b/qbs/imports/QtcProduct.qbs @@ -2,13 +2,15 @@ import qbs 1.0 import QtcFunctions Product { - version: project.qtcreator_version + version: qtc.qtcreator_version property bool install: true property string installDir Depends { name: "cpp" } - cpp.defines: project.generalDefines + Depends { name: "qtc" } + cpp.cxxLanguageVersion: "c++11" + cpp.defines: qtc.generalDefines cpp.linkerFlags: { var flags = []; if (qbs.buildVariant == "release" && (qbs.toolchain.contains("gcc") || qbs.toolchain.contains("mingw"))) diff --git a/qbs/imports/QtcTool.qbs b/qbs/imports/QtcTool.qbs index a1f228e2b23..7d75ba5ae77 100644 --- a/qbs/imports/QtcTool.qbs +++ b/qbs/imports/QtcTool.qbs @@ -4,13 +4,13 @@ import qbs.FileInfo QtcProduct { type: ["application"] consoleApplication: true - installDir: project.ide_libexec_path + installDir: qtc.ide_libexec_path cpp.rpaths: { - var relativePathToLibs = FileInfo.relativePath('/' + project.ide_libexec_path, - '/' + project.ide_library_path); - var relativePathToPlugins = FileInfo.relativePath('/' + project.ide_libexec_path, - '/' + project.ide_plugin_path); + var relativePathToLibs = FileInfo.relativePath('/' + qtc.ide_libexec_path, + '/' + qtc.ide_library_path); + var relativePathToPlugins = FileInfo.relativePath('/' + qtc.ide_libexec_path, + '/' + qtc.ide_plugin_path); var prefix = qbs.targetOS.contains("osx") ? "@executable_path" : "$ORIGIN"; return [ FileInfo.joinPaths(prefix, relativePathToLibs), diff --git a/qbs/modules/pluginjson/pluginjson.qbs b/qbs/modules/pluginjson/pluginjson.qbs index 8bbfe754e73..d8fe40d40e3 100644 --- a/qbs/modules/pluginjson/pluginjson.qbs +++ b/qbs/modules/pluginjson/pluginjson.qbs @@ -4,6 +4,7 @@ import qbs.FileInfo Module { Depends { id: qtcore; name: "Qt.core" } + Depends { name: "qtc" } additionalProductTypes: ["qt_plugin_metadata"] @@ -46,20 +47,22 @@ Module { // replace quoted quotes all = all.replace(/\\\"/g, '"'); // replace config vars - vars['QTCREATOR_VERSION'] = project.qtcreator_version; - vars['QTCREATOR_COMPAT_VERSION'] = project.qtcreator_compat_version; - vars['IDE_VERSION_MAJOR'] = project.ide_version_major; - vars['IDE_VERSION_MINOR'] = project.ide_version_minor; - vars['IDE_VERSION_RELEASE'] = project.ide_version_release; + var qtcVersion = product.moduleProperty("qtc", "qtcreator_version"); + vars['QTCREATOR_VERSION'] = qtcVersion; + vars['QTCREATOR_COMPAT_VERSION'] + = product.moduleProperty("qtc", "qtcreator_compat_version"); + vars['IDE_VERSION_MAJOR'] = product.moduleProperty("qtc", "ide_version_major"); + vars['IDE_VERSION_MINOR'] = product.moduleProperty("qtc", "ide_version_minor"); + vars['IDE_VERSION_RELEASE'] = product.moduleProperty("qtc", "ide_version_release"); var deplist = []; for (i in plugin_depends) { - deplist.push(" { \"Name\" : \"" + plugin_depends[i] + "\", \"Version\" : \"" + project.qtcreator_version + "\" }"); + deplist.push(" { \"Name\" : \"" + plugin_depends[i] + "\", \"Version\" : \"" + qtcVersion + "\" }"); } for (i in plugin_recommends) { - deplist.push(" { \"Name\" : \"" + plugin_recommends[i] + "\", \"Version\" : \"" + project.qtcreator_version + "\", \"Type\" : \"optional\" }"); + deplist.push(" { \"Name\" : \"" + plugin_recommends[i] + "\", \"Version\" : \"" + qtcVersion + "\", \"Type\" : \"optional\" }"); } for (i in plugin_test_depends) { - deplist.push(" { \"Name\" : \"" + plugin_test_depends[i] + "\", \"Version\" : \"" + project.qtcreator_version + "\", \"Type\" : \"test\" }"); + deplist.push(" { \"Name\" : \"" + plugin_test_depends[i] + "\", \"Version\" : \"" + qtcVersion + "\", \"Type\" : \"test\" }"); } deplist = deplist.join(",\n") vars['dependencyList'] = "\"Dependencies\" : [\n" + deplist + "\n ]"; diff --git a/qbs/modules/qbsbuildconfig/qbsbuildconfig.qbs b/qbs/modules/qbsbuildconfig/qbsbuildconfig.qbs new file mode 100644 index 00000000000..88128a97d13 --- /dev/null +++ b/qbs/modules/qbsbuildconfig/qbsbuildconfig.qbs @@ -0,0 +1,24 @@ +import qbs +import qbs.FileInfo + +Module { + Depends { name: "qtc" } + + property bool enableUnitTests: false + property bool enableProjectFileUpdates: true + property bool installApiHeaders: false + property string libInstallDir: qtc.ide_library_path + property stringList libRPaths: qbs.targetOS.contains("osx") + ? ["@loader_path/" + FileInfo.relativePath('/' + appInstallDir, '/' + libInstallDir)] + : ["$ORIGIN/..", "$ORIGIN/../" + qtc.ide_library_path] + property string resourcesInstallDir: qtc.ide_data_path + "/qbs" + property string pluginsInstallDir: qtc.ide_plugin_path + property string appInstallDir: qtc.ide_bin_path + property string libexecInstallDir: qtc.ide_libexec_path + property string relativeLibexecPath: FileInfo.relativePath('/' + appInstallDir, + '/' + libexecInstallDir) + property string relativePluginsPath: FileInfo.relativePath('/' + appInstallDir, + '/' + pluginsInstallDir) + property string relativeSearchPath: FileInfo.relativePath('/' + appInstallDir, + '/' + resourcesInstallDir) +} diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs new file mode 100644 index 00000000000..9377865ecc8 --- /dev/null +++ b/qbs/modules/qtc/qtc.qbs @@ -0,0 +1,57 @@ +import qbs +import qbs.Environment + +Module { + property string ide_version_major: '4' + property string ide_version_minor: '0' + property string ide_version_release: '82' + property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + + ide_version_release + + property string ide_compat_version_major: '4' + property string ide_compat_version_minor: '0' + property string ide_compat_version_release: '82' + property string qtcreator_compat_version: ide_compat_version_major + '.' + + ide_compat_version_minor + '.' + ide_compat_version_release + + property string libDirName: "lib" + property string ide_app_path: qbs.targetOS.contains("osx") ? "" : "bin" + property string ide_app_target: qbs.targetOS.contains("osx") ? "Qt Creator" : "qtcreator" + property string ide_library_path: { + if (qbs.targetOS.contains("osx")) + return ide_app_target + ".app/Contents/Frameworks" + else if (qbs.targetOS.contains("windows")) + return ide_app_path + else + return libDirName + "/qtcreator" + } + property string ide_plugin_path: { + if (qbs.targetOS.contains("osx")) + return ide_app_target + ".app/Contents/PlugIns" + else if (qbs.targetOS.contains("windows")) + return libDirName + "/qtcreator/plugins" + else + return ide_library_path + "/plugins" + } + property string ide_data_path: qbs.targetOS.contains("osx") + ? ide_app_target + ".app/Contents/Resources" + : "share/qtcreator" + property string ide_libexec_path: qbs.targetOS.contains("osx") + ? ide_data_path : qbs.targetOS.contains("windows") + ? ide_app_path + : "libexec/qtcreator" + property string ide_bin_path: qbs.targetOS.contains("osx") + ? ide_app_target + ".app/Contents/MacOS" + : ide_app_path + property string ide_doc_path: qbs.targetOS.contains("osx") + ? ide_data_path + "/doc" + : "share/doc/qtcreator" + + property bool testsEnabled: Environment.getEnv("TEST") || qbs.buildVariant === "debug" + property stringList generalDefines: [ + "QT_CREATOR", + 'IDE_LIBRARY_BASENAME="' + libDirName + '"', + "QT_NO_CAST_TO_ASCII", + "QT_RESTRICTED_CAST_FROM_ASCII" + ].concat(testsEnabled ? ["WITH_TESTS"] : []) +} diff --git a/qtcreator.qbs b/qtcreator.qbs index 263479f0dd3..c481bb16857 100644 --- a/qtcreator.qbs +++ b/qtcreator.qbs @@ -7,59 +7,12 @@ Project { minimumQbsVersion: "1.5.0" property bool withAutotests: qbs.buildVariant === "debug" property string licenseType: "opensource" - property string ide_version_major: '4' - property string ide_version_minor: '0' - property string ide_version_release: '82' - property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release - property string ide_compat_version_major: '4' - property string ide_compat_version_minor: '0' - property string ide_compat_version_release: '82' - property string qtcreator_compat_version: ide_compat_version_major + '.' + ide_compat_version_minor + '.' + ide_compat_version_release property path ide_source_tree: path - property string ide_app_path: qbs.targetOS.contains("osx") ? "" : "bin" - property string ide_app_target: qbs.targetOS.contains("osx") ? "Qt Creator" : "qtcreator" property pathList additionalPlugins: [] property pathList additionalLibs: [] property pathList additionalTools: [] property pathList additionalAutotests: [] property string sharedSourcesDir: path + "/src/shared" - property string libDirName: "lib" - property string ide_library_path: { - if (qbs.targetOS.contains("osx")) - return ide_app_target + ".app/Contents/Frameworks" - else if (qbs.targetOS.contains("windows")) - return ide_app_path - else - return libDirName + "/qtcreator" - } - property string ide_plugin_path: { - if (qbs.targetOS.contains("osx")) - return ide_app_target + ".app/Contents/PlugIns" - else if (qbs.targetOS.contains("windows")) - return libDirName + "/qtcreator/plugins" - else - return ide_library_path + "/plugins" - } - property string ide_data_path: qbs.targetOS.contains("osx") - ? ide_app_target + ".app/Contents/Resources" - : "share/qtcreator" - property string ide_libexec_path: qbs.targetOS.contains("osx") - ? ide_data_path : qbs.targetOS.contains("windows") - ? ide_app_path - : "libexec/qtcreator" - property string ide_doc_path: qbs.targetOS.contains("osx") - ? ide_data_path + "/doc" - : "share/doc/qtcreator" - property string ide_bin_path: qbs.targetOS.contains("osx") - ? ide_app_target + ".app/Contents/MacOS" - : ide_app_path - property bool testsEnabled: Environment.getEnv("TEST") || qbs.buildVariant === "debug" - property stringList generalDefines: [ - "QT_CREATOR", - 'IDE_LIBRARY_BASENAME="' + libDirName + '"', - "QT_NO_CAST_TO_ASCII", - "QT_RESTRICTED_CAST_FROM_ASCII" - ].concat(testsEnabled ? ["WITH_TESTS"] : []) qbsSearchPaths: "qbs" references: [ @@ -72,6 +25,7 @@ Project { AutotestRunner { Depends { name: "Qt.core" } + Depends { name: "qtc" } environment: { var env = base; if (!qbs.hostOS.contains("windows") || !qbs.targetOS.contains("windows")) @@ -85,9 +39,10 @@ Project { } var fullQtcInstallDir = FileInfo.joinPaths(qbs.installRoot, qbs.installPrefix, qbs.InstallDir); - var fullLibInstallDir = FileInfo.joinPaths(fullQtcInstallDir, project.ide_library_path); - var fullPluginInstallDir - = FileInfo.joinPaths(fullQtcInstallDir, project.ide_plugin_path); + var fullLibInstallDir = FileInfo.joinPaths(fullQtcInstallDir, + product.moduleProperty("ide", "ide_library_path")); + var fullPluginInstallDir = FileInfo.joinPaths(fullQtcInstallDir, + product.moduleProperty("qtc", "ide_plugin_path")); path = Qt.core.binPath + ";" + fullLibInstallDir + ";" + fullPluginInstallDir + ";" + path; var arrayElem = "PATH=" + path; diff --git a/share/qtcreator/translations/translations.qbs b/share/qtcreator/translations/translations.qbs index 67e2fef02c0..33e6a0f8724 100644 --- a/share/qtcreator/translations/translations.qbs +++ b/share/qtcreator/translations/translations.qbs @@ -4,6 +4,7 @@ Product { name: "Translations" type: "qm" Depends { name: "Qt.core" } + Depends { name: "qtc" } Group { files: ["*.ts"] @@ -17,6 +18,6 @@ Product { Group { fileTagsFilter: product.type qbs.install: true - qbs.installDir: project.ide_data_path + "/translations" + qbs.installDir: qtc.ide_data_path + "/translations" } } diff --git a/share/share.qbs b/share/share.qbs index 9a51fea6a93..df3e418bf49 100644 --- a/share/share.qbs +++ b/share/share.qbs @@ -2,11 +2,12 @@ import qbs 1.0 Product { name: "SharedContent" + Depends { name: "qtc" } Group { name: "Unconditional" qbs.install: true - qbs.installDir: project.ide_data_path + qbs.installDir: qtc.ide_data_path qbs.installSourceBase: "qtcreator" prefix: "qtcreator/" files: [ @@ -31,7 +32,7 @@ Product { Group { name: "3rdparty" qbs.install: true - qbs.installDir: project.ide_data_path + qbs.installDir: qtc.ide_data_path qbs.installSourceBase: project.ide_source_tree + "/src/share/3rdparty" prefix: project.ide_source_tree + "/src/share/3rdparty/" files: [ @@ -42,7 +43,7 @@ Product { Group { name: "Conditional" qbs.install: true - qbs.installDir: project.ide_data_path + "/externaltools" + qbs.installDir: qtc.ide_data_path + "/externaltools" prefix: project.ide_source_tree + "/src/share/qtcreator/externaltools/" files: { var list = [ diff --git a/src/app/app.qbs b/src/app/app.qbs index 5d8d0de0965..5d60404680a 100644 --- a/src/app/app.qbs +++ b/src/app/app.qbs @@ -18,14 +18,15 @@ QtcProduct { consoleApplication: false type: ["application"] - name: project.ide_app_target - version: project.qtcreator_version + name: "qtcreator" + targetName: qtc.ide_app_target + version: qtc.qtcreator_version - installDir: project.ide_bin_path + installDir: qtc.ide_bin_path property bool qtcRunnable: true cpp.rpaths: qbs.targetOS.contains("osx") ? ["@executable_path/../Frameworks"] - : ["$ORIGIN/../" + project.libDirName + "/qtcreator"] + : ["$ORIGIN/../" + qtc.libDirName + "/qtcreator"] cpp.includePaths: [ project.sharedSourcesDir + "/qtsingleapplication", project.sharedSourcesDir + "/qtlockedfile", diff --git a/src/app/app_version_header.qbs b/src/app/app_version_header.qbs index 891cf3974cf..1774fec969d 100644 --- a/src/app/app_version_header.qbs +++ b/src/app/app_version_header.qbs @@ -6,6 +6,8 @@ Product { type: "hpp" files: "app_version.h.in" + Depends { name: "qtc" } + Transformer { inputs: ["app_version.h.in"] Artifact { @@ -26,10 +28,14 @@ Product { if (onWindows) content = content.replace(/\r\n/g, "\n"); // replace the magic qmake incantations - content = content.replace(/(\n#define IDE_VERSION) .+\n/, "$1 " + project.qtcreator_version + "\n"); - content = content.replace(/(\n#define IDE_VERSION_MAJOR) .+\n/, "$1 " + project.ide_version_major + "\n") - content = content.replace(/(\n#define IDE_VERSION_MINOR) .+\n/, "$1 " + project.ide_version_minor + "\n") - content = content.replace(/(\n#define IDE_VERSION_RELEASE) .+\n/, "$1 " + project.ide_version_release + "\n") + content = content.replace(/(\n#define IDE_VERSION) .+\n/, "$1 " + + product.moduleProperty("qtc", "qtcreator_version") + "\n"); + content = content.replace(/(\n#define IDE_VERSION_MAJOR) .+\n/, "$1 " + + product.moduleProperty("qtc", "ide_version_major") + "\n"); + content = content.replace(/(\n#define IDE_VERSION_MINOR) .+\n/, "$1 " + + product.moduleProperty("qtc", "ide_version_minor") + "\n"); + content = content.replace(/(\n#define IDE_VERSION_RELEASE) .+\n/, "$1 " + + product.moduleProperty("qtc", "ide_version_release") + "\n"); file = new TextFile(output.filePath, TextFile.WriteOnly); file.truncate(); file.write(content); diff --git a/src/libs/qtcreatorcdbext/qtcreatorcdbext.qbs b/src/libs/qtcreatorcdbext/qtcreatorcdbext.qbs index 9bdb41f45e5..306562f1ad9 100644 --- a/src/libs/qtcreatorcdbext/qtcreatorcdbext.qbs +++ b/src/libs/qtcreatorcdbext/qtcreatorcdbext.qbs @@ -57,7 +57,7 @@ QtcLibrary { dirName += "64"; else dirName += "32"; - return FileInfo.joinPaths(project.libDirName, dirName); + return FileInfo.joinPaths(qtc.libDirName, dirName); } files: [ "common.cpp", diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs index 446ab690294..b1050be76ac 100644 --- a/src/libs/utils/utils.qbs +++ b/src/libs/utils/utils.qbs @@ -6,8 +6,8 @@ QtcLibrary { cpp.defines: base.concat([ "QTCREATOR_UTILS_LIB", - "QTC_REL_TOOLS_PATH=\"" + FileInfo.relativePath('/' + project.ide_bin_path, - '/' + project.ide_libexec_path) + "\"" + "QTC_REL_TOOLS_PATH=\"" + FileInfo.relativePath('/' + qtc.ide_bin_path, + '/' + qtc.ide_libexec_path) + "\"" ]) cpp.dynamicLibraries: { var libs = []; diff --git a/src/plugins/autotest/autotest.qbs b/src/plugins/autotest/autotest.qbs index 3c38c14bf68..ae317af893f 100644 --- a/src/plugins/autotest/autotest.qbs +++ b/src/plugins/autotest/autotest.qbs @@ -18,12 +18,12 @@ QtcPlugin { Depends { name: "QtSupport" - condition: project.testsEnabled + condition: qtc.testsEnabled } Depends { name: "Qt.test" - condition: project.testsEnabled + condition: qtc.testsEnabled } Depends { name: "Qt.widgets" } @@ -92,7 +92,7 @@ QtcPlugin { Group { name: "Test sources" - condition: project.testsEnabled + condition: qtc.testsEnabled files: [ "autotestunittests.cpp", "autotestunittests.h", @@ -108,6 +108,6 @@ QtcPlugin { ] fileTags: [] qbs.install: true - qbs.installDir: project.ide_data_path + "/templates/wizards/autotest" + qbs.installDir: qtc.ide_data_path + "/templates/wizards/autotest" } } diff --git a/src/plugins/clangcodemodel/clangcodemodel.qbs b/src/plugins/clangcodemodel/clangcodemodel.qbs index 3109e20df48..d88f1d3e511 100644 --- a/src/plugins/clangcodemodel/clangcodemodel.qbs +++ b/src/plugins/clangcodemodel/clangcodemodel.qbs @@ -97,7 +97,7 @@ QtcPlugin { Group { name: "Tests" - condition: project.testsEnabled + condition: qtc.testsEnabled prefix: "test/" files: [ "data/clangtestdata.qrc", diff --git a/src/plugins/clangstaticanalyzer/clangstaticanalyzer.qbs b/src/plugins/clangstaticanalyzer/clangstaticanalyzer.qbs index 4c446f5c63b..b4a9258e72d 100644 --- a/src/plugins/clangstaticanalyzer/clangstaticanalyzer.qbs +++ b/src/plugins/clangstaticanalyzer/clangstaticanalyzer.qbs @@ -57,7 +57,7 @@ QtcPlugin { Group { name: "Unit tests" - condition: project.testsEnabled + condition: qtc.testsEnabled files: [ "clangstaticanalyzerunittests.cpp", "clangstaticanalyzerunittests.h", diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index a2fcb520c40..f5fc28bd9b6 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -193,7 +193,7 @@ QtcPlugin { Group { name: "Tests" - condition: project.testsEnabled + condition: qtc.testsEnabled files: [ "testdatadir.cpp", "testdatadir.h", diff --git a/src/plugins/cppeditor/cppeditor.qbs b/src/plugins/cppeditor/cppeditor.qbs index bc2a8ea3a73..79105dc9074 100644 --- a/src/plugins/cppeditor/cppeditor.qbs +++ b/src/plugins/cppeditor/cppeditor.qbs @@ -57,7 +57,7 @@ QtcPlugin { Group { name: "Tests" - condition: project.testsEnabled + condition: qtc.testsEnabled files: [ "cppdoxygen_test.cpp", "cppdoxygen_test.h", "cppeditortestcase.cpp", "cppeditortestcase.h", diff --git a/src/plugins/cpptools/cpptools.qbs b/src/plugins/cpptools/cpptools.qbs index bd173c009cb..1cfab297513 100644 --- a/src/plugins/cpptools/cpptools.qbs +++ b/src/plugins/cpptools/cpptools.qbs @@ -105,7 +105,7 @@ QtcPlugin { Group { name: "Tests" - condition: project.testsEnabled + condition: qtc.testsEnabled files: [ "cppcodegen_test.cpp", "cppcompletion_test.cpp", diff --git a/src/plugins/debugger/debugger.qbs b/src/plugins/debugger/debugger.qbs index 276e2967829..2fcce2f42b2 100644 --- a/src/plugins/debugger/debugger.qbs +++ b/src/plugins/debugger/debugger.qbs @@ -21,7 +21,7 @@ QtcPlugin { Depends { name: "Qt.test" - condition: project.testsEnabled + condition: qtc.testsEnabled } pluginTestDepends: [ @@ -265,7 +265,7 @@ QtcPlugin { Group { name: "Unit tests" - condition: project.testsEnabled + condition: qtc.testsEnabled files: [ "debuggerunittests.qrc", ] diff --git a/src/plugins/designer/designer.qbs b/src/plugins/designer/designer.qbs index ae6a9a996bd..fe903990cfe 100644 --- a/src/plugins/designer/designer.qbs +++ b/src/plugins/designer/designer.qbs @@ -74,7 +74,7 @@ QtcPlugin { Group { name: "Tests" - condition: project.testsEnabled + condition: qtc.testsEnabled files: [ "gotoslot_test.cpp" ] cpp.defines: outer.concat(['SRCDIR="' + FileInfo.path(filePath) + '"']) diff --git a/src/plugins/fakevim/fakevim.qbs b/src/plugins/fakevim/fakevim.qbs index 73c5467081f..e16041166cf 100644 --- a/src/plugins/fakevim/fakevim.qbs +++ b/src/plugins/fakevim/fakevim.qbs @@ -29,7 +29,7 @@ QtcPlugin { Group { name: "Tests" - condition: project.testsEnabled + condition: qtc.testsEnabled files: ["fakevim_test.cpp"] } } diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.qbs b/src/plugins/genericprojectmanager/genericprojectmanager.qbs index 0e4c2a86ea5..fa734abd227 100644 --- a/src/plugins/genericprojectmanager/genericprojectmanager.qbs +++ b/src/plugins/genericprojectmanager/genericprojectmanager.qbs @@ -43,7 +43,7 @@ QtcPlugin { Group { name: "Tests" - condition: project.testsEnabled + condition: qtc.testsEnabled files: [ "genericprojectplugin_test.cpp" ] cpp.defines: outer.concat(['SRCDIR="' + FileInfo.path(filePath) + '"']) diff --git a/src/plugins/projectexplorer/projectexplorer.qbs b/src/plugins/projectexplorer/projectexplorer.qbs index 508b99402e4..15cf7ccd607 100644 --- a/src/plugins/projectexplorer/projectexplorer.qbs +++ b/src/plugins/projectexplorer/projectexplorer.qbs @@ -236,7 +236,7 @@ QtcPlugin { Group { name: "WindowsToolChains" - condition: qbs.targetOS.contains("windows") || project.testsEnabled + condition: qbs.targetOS.contains("windows") || qtc.testsEnabled files: [ "abstractmsvctoolchain.cpp", "abstractmsvctoolchain.h", @@ -253,7 +253,7 @@ QtcPlugin { Group { name: "Tests" - condition: project.testsEnabled + condition: qtc.testsEnabled files: ["outputparser_test.h", "outputparser_test.cpp"] } diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs index 3314a7a12d3..7b0434920e2 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs @@ -7,7 +7,7 @@ QtcPlugin { property var externalQbsIncludes: project.useExternalQbs ? [project.qbs_install_dir + "/include/qbs"] : [] property var externalQbsLibraryPaths: project.useExternalQbs - ? [project.qbs_install_dir + '/' + project.libDirName] : [] + ? [project.qbs_install_dir + '/' + qtc.libDirName] : [] property var externalQbsDynamicLibraries: { var libs = [] if (!project.useExternalQbs) diff --git a/src/plugins/qmldesigner/componentsplugin/componentsplugin.qbs b/src/plugins/qmldesigner/componentsplugin/componentsplugin.qbs index 5cb6f709118..74fd8b8991a 100644 --- a/src/plugins/qmldesigner/componentsplugin/componentsplugin.qbs +++ b/src/plugins/qmldesigner/componentsplugin/componentsplugin.qbs @@ -3,7 +3,7 @@ import qbs QtcProduct { name: "componentsplugin" type: ["dynamiclibrary"] - installDir: project.ide_plugin_path + '/' + installDirName + installDir: qtc.ide_plugin_path + '/' + installDirName property string installDirName: qbs.targetOS.contains("osx") ? "QmlDesigner" : "qmldesigner" Depends { name: "Core" } diff --git a/src/plugins/qmldesigner/qtquickplugin/qtquickplugin.qbs b/src/plugins/qmldesigner/qtquickplugin/qtquickplugin.qbs index 317e2101f7b..18540ee72d9 100644 --- a/src/plugins/qmldesigner/qtquickplugin/qtquickplugin.qbs +++ b/src/plugins/qmldesigner/qtquickplugin/qtquickplugin.qbs @@ -3,7 +3,7 @@ import qbs QtcProduct { name: "qtquickplugin" type: ["dynamiclibrary"] - installDir: project.ide_plugin_path + '/' + installDirName + installDir: qtc.ide_plugin_path + '/' + installDirName property string installDirName: qbs.targetOS.contains("osx") ? "QmlDesigner" : "qmldesigner" cpp.defines: base.concat("QTQUICK_LIBRARY") diff --git a/src/plugins/qmljstools/qmljstools.qbs b/src/plugins/qmljstools/qmljstools.qbs index e5b44e6962c..415c10c79dd 100644 --- a/src/plugins/qmljstools/qmljstools.qbs +++ b/src/plugins/qmljstools/qmljstools.qbs @@ -49,7 +49,7 @@ QtcPlugin { Group { name: "Tests" - condition: project.testsEnabled + condition: qtc.testsEnabled files: ["qmljstools_test.cpp"] } diff --git a/src/plugins/qmlprofiler/qmlprofiler.qbs b/src/plugins/qmlprofiler/qmlprofiler.qbs index 32056fa83ca..9010a0a7197 100644 --- a/src/plugins/qmlprofiler/qmlprofiler.qbs +++ b/src/plugins/qmlprofiler/qmlprofiler.qbs @@ -74,7 +74,7 @@ QtcPlugin { Group { name: "Unit tests" - condition: project.testsEnabled + condition: qtc.testsEnabled prefix: "tests/" files: [ "debugmessagesmodel_test.cpp", "debugmessagesmodel_test.h", diff --git a/src/plugins/texteditor/texteditor.qbs b/src/plugins/texteditor/texteditor.qbs index 71d3a6e8103..2ca0759a595 100644 --- a/src/plugins/texteditor/texteditor.qbs +++ b/src/plugins/texteditor/texteditor.qbs @@ -267,7 +267,7 @@ QtcPlugin { Group { name: "Tests" - condition: project.testsEnabled + condition: qtc.testsEnabled files: [ "texteditor_test.cpp", ] diff --git a/src/plugins/vcsbase/vcsbase.qbs b/src/plugins/vcsbase/vcsbase.qbs index 65e4d1bf41e..a19269e8574 100644 --- a/src/plugins/vcsbase/vcsbase.qbs +++ b/src/plugins/vcsbase/vcsbase.qbs @@ -82,5 +82,5 @@ QtcPlugin { "wizard/vcsjsextension.h", ] - cpp.defines: base.concat( testsEnabled ? ['SRC_DIR="' + project.ide_source_tree + '"'] : [] ) + cpp.defines: base.concat(qtc.testsEnabled ? ['SRC_DIR="' + qtc.ide_source_tree + '"'] : []) } diff --git a/src/shared/qbs b/src/shared/qbs index 9d28325c404..daf715d9cae 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 9d28325c404a87757c61b7dba10f54b43c28cd11 +Subproject commit daf715d9cae1c297ea50587c9e40c0f24bd59a07 diff --git a/src/src.qbs b/src/src.qbs index 69160e489e3..cca3a2ddd95 100644 --- a/src/src.qbs +++ b/src/src.qbs @@ -23,25 +23,9 @@ Project { id: qbsProject property string qbsBaseDir: project.sharedSourcesDir + "/qbs" condition: qbsSubModuleExists && !useExternalQbs - qbsSearchPaths: [qbsBaseDir + "/qbs-resources"] - property bool enableUnitTests: false - property bool enableProjectFileUpdates: true - property bool installApiHeaders: false - property string libInstallDir: project.ide_library_path - property stringList libRPaths: qbs.targetOS.contains("osx") - ? ["@loader_path/" + FileInfo.relativePath('/' + appInstallDir, '/' + libInstallDir)] - : ["$ORIGIN/..", "$ORIGIN/../" + project.ide_library_path] - property string resourcesInstallDir: project.ide_data_path + "/qbs" - property string pluginsInstallDir: project.ide_plugin_path - property string appInstallDir: project.ide_bin_path - property string libexecInstallDir: project.ide_libexec_path - property string relativeLibexecPath: FileInfo.relativePath('/' + appInstallDir, - '/' + libexecInstallDir) - property string relativePluginsPath: FileInfo.relativePath('/' + appInstallDir, - '/' + pluginsInstallDir) - property string relativeSearchPath: FileInfo.relativePath('/' + appInstallDir, - '/' + resourcesInstallDir) + // The first entry is for overriding qbs' own qbsbuildconfig module. + qbsSearchPaths: [project.ide_source_tree + "/qbs", qbsBaseDir + "/qbs-resources"] references: [ qbsBaseDir + "/src/lib/libs.qbs", diff --git a/src/tools/3rdparty/iossim/iossim.qbs b/src/tools/3rdparty/iossim/iossim.qbs index e27956643e6..3c55f5f6498 100644 --- a/src/tools/3rdparty/iossim/iossim.qbs +++ b/src/tools/3rdparty/iossim/iossim.qbs @@ -26,5 +26,5 @@ QtcTool { cpp.frameworkPaths: base.concat("/System/Library/PrivateFrameworks") bundle.infoPlistFile: "Info.plist" - installDir: project.ide_libexec_path + "/ios" + installDir: qtc.ide_libexec_path + "/ios" } diff --git a/src/tools/buildoutputparser/buildoutputparser.qbs b/src/tools/buildoutputparser/buildoutputparser.qbs index 2a116ef06c9..ad021e2a384 100644 --- a/src/tools/buildoutputparser/buildoutputparser.qbs +++ b/src/tools/buildoutputparser/buildoutputparser.qbs @@ -13,8 +13,8 @@ QtcTool { ] Properties { condition: qbs.targetOS.contains("unix") && !qbs.targetOS.contains("darwin") - cpp.rpaths: base.concat(["$ORIGIN/../" + project.ide_plugin_path]) + cpp.rpaths: base.concat(["$ORIGIN/../" + qtc.ide_plugin_path]) } - cpp.defines: base.concat(qbs.targetOS.contains("windows") || project.testsEnabled + cpp.defines: base.concat(qbs.targetOS.contains("windows") || qtc.testsEnabled ? ["HAS_MSVC_PARSER"] : []) } diff --git a/src/tools/iostool/iostool.qbs b/src/tools/iostool/iostool.qbs index 69ce827126e..53fc2b74e3f 100644 --- a/src/tools/iostool/iostool.qbs +++ b/src/tools/iostool/iostool.qbs @@ -20,5 +20,5 @@ QtcTool { cpp.dynamicLibraries: base.concat(["ssl", "bz2"]) bundle.infoPlistFile: "Info.plist" - installDir: project.ide_libexec_path + "/ios" + installDir: qtc.ide_libexec_path + "/ios" } diff --git a/src/tools/qml2puppet/qml2puppet.qbs b/src/tools/qml2puppet/qml2puppet.qbs index 11f8da09c9f..0395e8b7777 100644 --- a/src/tools/qml2puppet/qml2puppet.qbs +++ b/src/tools/qml2puppet/qml2puppet.qbs @@ -4,7 +4,7 @@ import QtcFunctions QtcTool { name: "qml2puppet" installDir: qbs.targetOS.contains("osx") - ? project.ide_libexec_path + "/qmldesigner" : project.ide_libexec_path + ? qtc.ide_libexec_path + "/qmldesigner" : qtc.ide_libexec_path Depends { name: "bundle" } Depends { diff --git a/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs b/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs index 11b087b1e39..6b75aa13458 100644 --- a/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs +++ b/src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs @@ -3,7 +3,7 @@ import qbs 1.0 QtcTool { name: "qtcreator_crash_handler" condition: qbs.targetOS.contains("linux") && qbs.buildVariant == "debug" - installDir: project.ide_bin_path + installDir: qtc.ide_bin_path Depends { name: "Utils" } Depends { name: "Qt.widgets" } diff --git a/src/tools/valgrindfake/valgrindfake.qbs b/src/tools/valgrindfake/valgrindfake.qbs index 1aaf32e86f5..e71fba1358c 100644 --- a/src/tools/valgrindfake/valgrindfake.qbs +++ b/src/tools/valgrindfake/valgrindfake.qbs @@ -3,8 +3,9 @@ import qbs CppApplication { name: "valgrind-fake" consoleApplication: true - destinationDirectory: project.ide_bin_path + destinationDirectory: qtc.ide_bin_path Depends { name: "Qt"; submodules: ["network", "xml"]; } + Depends { name: "qtc" } cpp.cxxLanguageVersion: "c++11" files: [ "main.cpp", diff --git a/tests/auto/extensionsystem/plugin.qbs b/tests/auto/extensionsystem/plugin.qbs index 73dcc82d253..a0496e7dbb5 100644 --- a/tests/auto/extensionsystem/plugin.qbs +++ b/tests/auto/extensionsystem/plugin.qbs @@ -8,12 +8,13 @@ DynamicLibrary { Depends { name: "cpp" } Depends { name: "Qt.core" } Depends { name: "copyable_resource" } + Depends { name: "qtc" } targetName: QtcFunctions.qtLibraryName(qbs, name.split('_')[1]) destinationDirectory: project.buildDirectory + '/' + FileInfo.relativePath(project.ide_source_tree, sourceDirectory) cpp.rpaths: [ - project.buildDirectory + "/" + project.libDirName + "/qtcreator", - project.buildDirectory + "/" + project.libDirName + "/qtcreator/plugins" + project.buildDirectory + "/" + qtc.libDirName + "/qtcreator", + project.buildDirectory + "/" + qtc.libDirName + "/qtcreator/plugins" ].concat(additionalRPaths) cpp.cxxLanguageVersion: "c++11" property pathList additionalRPaths: [] diff --git a/tests/auto/sdktool/sdktool.qbs b/tests/auto/sdktool/sdktool.qbs index ca201b4b8e4..bd8b8d267a3 100644 --- a/tests/auto/sdktool/sdktool.qbs +++ b/tests/auto/sdktool/sdktool.qbs @@ -8,5 +8,5 @@ QtcAutotest { files: "tst_sdktool.cpp" } - cpp.defines: base.concat(['SDKTOOL_DIR="' + qbs.installRoot + '/' + project.ide_libexec_path + '"']) + cpp.defines: base.concat(['SDKTOOL_DIR="' + qbs.installRoot + '/' + qtc.ide_libexec_path + '"']) } diff --git a/tests/auto/valgrind/memcheck/modeldemo.qbs b/tests/auto/valgrind/memcheck/modeldemo.qbs index a2f9c538903..8da8fd139e8 100644 --- a/tests/auto/valgrind/memcheck/modeldemo.qbs +++ b/tests/auto/valgrind/memcheck/modeldemo.qbs @@ -8,6 +8,6 @@ ValgrindAutotest { files: ["modeldemo.h", "modeldemo.cpp"] cpp.defines: base.concat([ 'PARSERTESTS_DATA_DIR="' + path + '/data"', - 'VALGRIND_FAKE_PATH="' + project.buildDirectory + '/' + project.ide_bin_path + '/valgrind-fake"' + 'VALGRIND_FAKE_PATH="' + project.buildDirectory + '/' + qtc.ide_bin_path + '/valgrind-fake"' ]) } diff --git a/tests/auto/valgrind/memcheck/parsertests.qbs b/tests/auto/valgrind/memcheck/parsertests.qbs index 60ced3f8d46..99d6f6474f8 100644 --- a/tests/auto/valgrind/memcheck/parsertests.qbs +++ b/tests/auto/valgrind/memcheck/parsertests.qbs @@ -8,6 +8,6 @@ ValgrindAutotest { files: ["parsertests.h", "parsertests.cpp"] cpp.defines: base.concat([ 'PARSERTESTS_DATA_DIR="' + path + '/data"', - 'VALGRIND_FAKE_PATH="' + project.buildDirectory + '/' + project.ide_bin_path + '/valgrind-fake"' + 'VALGRIND_FAKE_PATH="' + project.buildDirectory + '/' + qtc.ide_bin_path + '/valgrind-fake"' ]) } diff --git a/tests/auto/valgrind/memcheck/testapps/testapp.qbs b/tests/auto/valgrind/memcheck/testapps/testapp.qbs index 321b6125d65..31178978d6b 100644 --- a/tests/auto/valgrind/memcheck/testapps/testapp.qbs +++ b/tests/auto/valgrind/memcheck/testapps/testapp.qbs @@ -7,6 +7,6 @@ QtcAutotest { property string testName targetName: testName // Test runner hardcodes the names of the executables destinationDirectory: project.buildDirectory + '/' - + project.ide_bin_path + '/testapps/' + testName + + qtc.ide_bin_path + '/testapps/' + testName files: "main.cpp" } diff --git a/tests/auto/valgrind/memcheck/testrunner.qbs b/tests/auto/valgrind/memcheck/testrunner.qbs index a274933bdf2..4d0e76cb028 100644 --- a/tests/auto/valgrind/memcheck/testrunner.qbs +++ b/tests/auto/valgrind/memcheck/testrunner.qbs @@ -16,7 +16,7 @@ ValgrindAutotest { Depends { name: "Memcheck uninit2 autotest" } Depends { name: "Memcheck uninit3 autotest" } files: ["testrunner.h", "testrunner.cpp"] - destinationDirectory: project.ide_bin_path + destinationDirectory: qtc.ide_bin_path cpp.defines: base.concat([ 'TESTRUNNER_SRC_DIR="' + path + '/testapps"', 'TESTRUNNER_APP_DIR="' + project.buildDirectory + '/' + destinationDirectory + '/testapps"'