Commit a0f956f0 authored by Christian Kandeler's avatar Christian Kandeler

qbs build: Introduce new module "qtc".

The qtc module gathers properties that used to live in the top-level
project file. This is the first step towards making it possible to build
plugins against an installed Qt Creator ("out of source build").

Change-Id: Ia1514cc9c888e80be01b308e908de48980fcbdb8
Reviewed-by: Joerg Bornemann's avatarJoerg Bornemann <joerg.bornemann@qt.io>
parent db9437c2
......@@ -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"]
}
......@@ -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
}
}
......@@ -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"
......
......@@ -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;
}
......
......@@ -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")))
......
......@@ -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),
......
......@@ -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 ]";
......
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)
}
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"] : [])
}
......@@ -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;
......
......@@ -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"
}
}
......@@ -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 = [
......
......@@ -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",
......
......@@ -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);
......
......@@ -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",
......
......@@ -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 = [];
......
......@@ -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"
}
}
......@@ -97,7 +97,7 @@ QtcPlugin {
Group {
name: "Tests"
condition: project.testsEnabled
condition: qtc.testsEnabled
prefix: "test/"
files: [
"data/clangtestdata.qrc",
......
......@@ -57,7 +57,7 @@ QtcPlugin {
Group {
name: "Unit tests"
condition: project.testsEnabled
condition: qtc.testsEnabled
files: [
"clangstaticanalyzerunittests.cpp",
"clangstaticanalyzerunittests.h",
......
......@@ -193,7 +193,7 @@ QtcPlugin {
Group {
name: "Tests"
condition: project.testsEnabled
condition: qtc.testsEnabled
files: [
"testdatadir.cpp",
"testdatadir.h",
......
......@@ -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",
......
......@@ -105,7 +105,7 @@ QtcPlugin {
Group {
name: "Tests"
condition: project.testsEnabled
condition: qtc.testsEnabled
files: [
"cppcodegen_test.cpp",
"cppcompletion_test.cpp",
......
......@@ -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",
]
......
......@@ -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) + '"'])
......
......@@ -29,7 +29,7 @@ QtcPlugin {
Group {
name: "Tests"
condition: project.testsEnabled
condition: qtc.testsEnabled
files: ["fakevim_test.cpp"]
}
}
......@@ -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) + '"'])
......
......@@ -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"]
}
......
......@@ -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)
......
......@@ -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" }
......
......@@ -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")
......
......@@ -49,7 +49,7 @@ QtcPlugin {
Group {
name: "Tests"
condition: project.testsEnabled
condition: qtc.testsEnabled
files: ["qmljstools_test.cpp"]
}
......
......@@ -74,7 +74,7 @@ QtcPlugin {
Group {
name: "Unit tests"
condition: project.testsEnabled
condition: qtc.testsEnabled
prefix: "tests/"
files: [
"debugmessagesmodel_test.cpp", "debugmessagesmodel_test.h",
......
......@@ -267,7 +267,7 @@ QtcPlugin {
Group {
name: "Tests"
condition: project.testsEnabled
condition: qtc.testsEnabled
files: [
"texteditor_test.cpp",
]
......
......@@ -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 + '"'] : [])
}
Subproject commit 9d28325c404a87757c61b7dba10f54b43c28cd11
Subproject commit daf715d9cae1c297ea50587c9e40c0f24bd59a07
......@@ -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",
......
......@@ -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"
}
......@@ -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"] : [])
}
......@@ -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"
}