diff options
author | Eike Ziller <eike.ziller@digia.com> | 2012-10-25 10:45:58 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@digia.com> | 2012-10-25 10:45:58 +0200 |
commit | 0a1bdf425786b8df6a399a181ee692fc0b4e9e98 (patch) | |
tree | c0a6ebb7083f3e49440a5eaa9dd7c9857e006ee1 /qtcreator.qbs | |
parent | b9e21803d603c268328d0732cfa863ac3845620b (diff) | |
parent | becdcdc4f4c6c30e72e30c726c657a796a499b3b (diff) | |
download | qt-creator-0a1bdf425786b8df6a399a181ee692fc0b4e9e98.tar.gz |
Merge remote-tracking branch 'origin/2.6'
Conflicts:
share/share.qbs
tests/auto/icheckbuild/icheckbuild.pro
Change-Id: I13bc737c981aaeb615ab1a3571cc8a18f60a7cd6
Diffstat (limited to 'qtcreator.qbs')
-rw-r--r-- | qtcreator.qbs | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/qtcreator.qbs b/qtcreator.qbs new file mode 100644 index 0000000000..1bb841a8d5 --- /dev/null +++ b/qtcreator.qbs @@ -0,0 +1,200 @@ +import qbs.base 1.0 +import qbs.fileinfo 1.0 as FileInfo +import "qbs/defaults.js" as Defaults + +Project { + property string ide_version_major: '2' + property string ide_version_minor: '6' + property string ide_version_release: '81' + property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release + moduleSearchPaths: "qbs" + + references: [ + "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/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/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/share/share.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.modules.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; + } + } + + ProductModule { + Depends { name: "cpp" } + cpp.includePaths: product.buildDirectory + } + } + + Product { + name: "qtcreator" + type: ["application", "installed_content"] + destination: "bin" + consoleApplication: qbs.debugInformation + + cpp.rpaths: ["$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 { + condition: qbs.targetOS == "linux" || qbs.targetOS == "macx" + files: "bin/qtcreator.sh" + fileTags: "install" + qbs.installDir: "bin" + } + + Group { + condition: qbs.targetOS == "linux" || qbs.targetOS == "macx" + files: [ + "src/shared/qtlockedfile/qtlockedfile_unix.cpp" + ] + } + + Group { + condition: qbs.targetOS == "windows" + files: [ + "src/shared/qtlockedfile/qtlockedfile_win.cpp" + ] + } + } +} + |