diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2013-06-21 13:12:30 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-06-25 17:05:42 +0200 |
commit | 54ed620f35f19600195e9057cfcf5bc01573f396 (patch) | |
tree | 443d85e9e02806c82e8c6db8a727babe67301943 /qtcreator.qbs | |
parent | 195d3c6f9e1524171bacc0b3e3d415ce8c88c766 (diff) | |
download | qt-creator-54ed620f35f19600195e9057cfcf5bc01573f396.tar.gz |
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.qbs | 196 |
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 - } - } } |