aboutsummaryrefslogtreecommitdiffstats
path: root/qtcreator.qbs
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2013-06-21 13:12:30 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2013-06-25 17:05:42 +0200
commit54ed620f35f19600195e9057cfcf5bc01573f396 (patch)
tree443d85e9e02806c82e8c6db8a727babe67301943 /qtcreator.qbs
parent195d3c6f9e1524171bacc0b3e3d415ce8c88c766 (diff)
Refactor qbs project files.
- Use sub-projects. - Move the main application and the application header products into dedicated files. As a result, qtcreator.qbs becomes much simpler to understand, consisting now of just a bunch of global properties and a few sub-project references. Change-Id: Ic7300d489d3982394be5ad1d12a79a2914320298 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'qtcreator.qbs')
-rw-r--r--qtcreator.qbs196
1 files changed, 1 insertions, 195 deletions
diff --git a/qtcreator.qbs b/qtcreator.qbs
index 6e0ff79f3e..bcf6b5ac36 100644
--- a/qtcreator.qbs
+++ b/qtcreator.qbs
@@ -1,9 +1,6 @@
import qbs.base 1.0
-import qbs.fileinfo as FileInfo
-import "qbs/defaults.js" as Defaults
Project {
-
property string ide_version_major: '2'
property string ide_version_minor: '7'
property string ide_version_release: '83'
@@ -41,200 +38,9 @@ Project {
moduleSearchPaths: "qbs"
references: [
+ "src/src.qbs",
"lib/qtcreator/qtcomponents/qtcomponents.qbs",
"share/share.qbs",
"share/qtcreator/translations/translations.qbs",
- "src/libs/aggregation/aggregation.qbs",
- "src/libs/cplusplus/cplusplus.qbs",
- "src/libs/extensionsystem/extensionsystem.qbs",
- "src/libs/glsl/glsl.qbs",
- "src/libs/languageutils/languageutils.qbs",
- "src/libs/qmleditorwidgets/qmleditorwidgets.qbs",
- "src/libs/qmljs/qmljs.qbs",
- "src/libs/qmldebug/qmldebug.qbs",
- "src/libs/qtcomponents/styleitem/styleitem.qbs",
- "src/libs/ssh/ssh.qbs",
- "src/libs/utils/process_stub.qbs",
- "src/libs/utils/process_ctrlc_stub.qbs",
- "src/libs/utils/utils.qbs",
- "src/libs/zeroconf/zeroconf.qbs",
- "src/plugins/analyzerbase/analyzerbase.qbs",
- "src/plugins/android/android.qbs",
- "src/plugins/autotoolsprojectmanager/autotoolsprojectmanager.qbs",
- "src/plugins/bazaar/bazaar.qbs",
- "src/plugins/bineditor/bineditor.qbs",
- "src/plugins/bookmarks/bookmarks.qbs",
- "src/plugins/classview/classview.qbs",
- "src/plugins/clearcase/clearcase.qbs",
- "src/plugins/cmakeprojectmanager/cmakeprojectmanager.qbs",
- "src/plugins/coreplugin/coreplugin.qbs",
- "src/plugins/coreplugin/images/logo/logo.qbs",
- "src/plugins/cpaster/cpaster.qbs",
- "src/plugins/cppeditor/cppeditor.qbs",
- "src/plugins/cpptools/cpptools.qbs",
- "src/plugins/cvs/cvs.qbs",
- "src/plugins/debugger/debugger.qbs",
- "src/plugins/debugger/ptracepreload.qbs",
- "src/plugins/designer/designer.qbs",
- "src/plugins/diffeditor/diffeditor.qbs",
- "src/plugins/fakevim/fakevim.qbs",
- "src/plugins/find/find.qbs",
- "src/plugins/genericprojectmanager/genericprojectmanager.qbs",
- "src/plugins/git/git.qbs",
- "src/plugins/glsleditor/glsleditor.qbs",
- "src/plugins/helloworld/helloworld.qbs",
- "src/plugins/help/help.qbs",
- "src/plugins/imageviewer/imageviewer.qbs",
- "src/plugins/locator/locator.qbs",
- "src/plugins/macros/macros.qbs",
- "src/plugins/madde/madde.qbs",
- "src/plugins/mercurial/mercurial.qbs",
- "src/plugins/perforce/perforce.qbs",
- "src/plugins/projectexplorer/projectexplorer.qbs",
- "src/plugins/qbsprojectmanager/qbsprojectmanager.qbs",
- "src/plugins/pythoneditor/pythoneditor.qbs",
-// "src/plugins/qmldesigner/qmldesigner.qbs",
- "src/plugins/qmljseditor/qmljseditor.qbs",
- "src/plugins/qmljstools/qmljstools.qbs",
- "src/plugins/qmlprofiler/qmlprofiler.qbs",
- "src/plugins/qmlprojectmanager/qmlprojectmanager.qbs",
- "src/plugins/qnx/qnx.qbs",
- "src/plugins/qt4projectmanager/qt4projectmanager.qbs",
- "src/plugins/qtsupport/qtsupport.qbs",
- "src/plugins/remotelinux/remotelinux.qbs",
- "src/plugins/resourceeditor/resourceeditor.qbs",
- "src/plugins/subversion/subversion.qbs",
- "src/plugins/tasklist/tasklist.qbs",
- "src/plugins/texteditor/texteditor.qbs",
- "src/plugins/todo/todo.qbs",
- "src/plugins/updateinfo/updateinfo.qbs",
- "src/plugins/valgrind/valgrind.qbs",
- "src/plugins/vcsbase/vcsbase.qbs",
- "src/plugins/welcome/welcome.qbs",
- "src/tools/qtcdebugger/qtcdebugger.qbs",
- "src/tools/qtcreatorcrashhandler/qtcreatorcrashhandler.qbs",
- "src/tools/qtpromaker/qtpromaker.qbs",
- "src/plugins/cpaster/frontend/frontend.qbs",
- "src/tools/sdktool/sdktool.qbs"
]
-
- Product {
- name: "app_version_header"
- type: "hpp"
- files: "src/app/app_version.h.in"
- property string ide_version_major: project.ide_version_major
- property string ide_version_minor: project.ide_version_minor
- property string ide_version_release: project.ide_version_release
- property string qtcreator_version: project.qtcreator_version
-
- Transformer {
- inputs: ["src/app/app_version.h.in"]
- Artifact {
- fileName: "app/app_version.h"
- fileTags: "hpp"
- }
- prepare: {
- var cmd = new JavaScriptCommand();
- cmd.description = "generating app_version.h";
- cmd.highlight = "codegen";
- cmd.qtcreator_version = product.qtcreator_version;
- cmd.ide_version_major = product.ide_version_major;
- cmd.ide_version_minor = product.ide_version_minor;
- cmd.ide_version_release = product.ide_version_release;
- cmd.onWindows = (product.moduleProperty("qbs", "targetOS") === "windows");
- cmd.sourceCode = function() {
- var file = new TextFile(input.fileName);
- var content = file.readAll();
- // replace quoted quotes
- content = content.replace(/\\\"/g, '"');
- // replace Windows line endings
- if (onWindows)
- content = content.replace(/\r\n/g, "\n");
- // replace the magic qmake incantations
- content = content.replace(/(\n#define IDE_VERSION) .+\n/, "$1 " + qtcreator_version + "\n");
- content = content.replace(/(\n#define IDE_VERSION_MAJOR) .+\n/, "$1 " + ide_version_major + "\n")
- content = content.replace(/(\n#define IDE_VERSION_MINOR) .+\n/, "$1 " + ide_version_minor + "\n")
- content = content.replace(/(\n#define IDE_VERSION_RELEASE) .+\n/, "$1 " + ide_version_release + "\n")
- file = new TextFile(output.fileName, TextFile.WriteOnly);
- file.truncate();
- file.write(content);
- file.close();
- }
- return cmd;
- }
- }
-
- Export {
- Depends { name: "cpp" }
- cpp.includePaths: product.buildDirectory
- }
- }
-
- Application {
- name: project.ide_app_target
- consoleApplication: qbs.debugInformation
-
- cpp.rpaths: qbs.targetOS.contains("mac") ? ["@executable_path/.."]
- : ["$ORIGIN/../lib/qtcreator"]
- cpp.defines: Defaults.defines(qbs)
- cpp.linkerFlags: {
- if (qbs.buildVariant == "release" && (qbs.toolchain == "gcc" || qbs.toolchain == "mingw"))
- return ["-Wl,-s"]
- }
- cpp.includePaths: [
- "src",
- "src/libs",
- "src/shared/qtsingleapplication",
- "src/shared/qtlockedfile",
- buildDirectory
- ]
-
- Depends { name: "app_version_header" }
- Depends { name: "cpp" }
- Depends { name: "Qt"; submodules: ["widgets", "network"] }
- Depends { name: "Utils" }
- Depends { name: "ExtensionSystem" }
-
- files: [
- "src/app/main.cpp",
- "src/app/qtcreator.rc",
- "src/shared/qtsingleapplication/qtsingleapplication.h",
- "src/shared/qtsingleapplication/qtsingleapplication.cpp",
- "src/shared/qtsingleapplication/qtlocalpeer.h",
- "src/shared/qtsingleapplication/qtlocalpeer.cpp",
- "src/shared/qtlockedfile/qtlockedfile.cpp",
- "src/tools/qtcreatorcrashhandler/crashhandlersetup.cpp",
- "src/tools/qtcreatorcrashhandler/crashhandlersetup.h"
- ]
-
- Group {
- name: "qtcreator.sh"
- condition: qbs.targetOS.contains("unix") && !qbs.targetOS.contains("mac")
- files: "bin/qtcreator.sh"
- qbs.install: true
- qbs.installDir: "bin"
- }
-
- Group {
- name: "QtLockedFile_unix"
- condition: qbs.targetOS.contains("unix")
- files: [
- "src/shared/qtlockedfile/qtlockedfile_unix.cpp"
- ]
- }
-
- Group {
- name: "QtLockedFile_win"
- condition: qbs.targetOS.contains("windows")
- files: [
- "src/shared/qtlockedfile/qtlockedfile_win.cpp"
- ]
- }
-
- Group {
- fileTagsFilter: product.type
- qbs.install: true
- qbs.installDir: project.ide_app_path
- }
- }
}