diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2019-07-18 12:55:43 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2019-07-18 12:36:43 +0000 |
commit | c8e656c506e22d62968ae2a5adf09c96f49efe12 (patch) | |
tree | 04a6b632d6fc717a2939a2e44370cb99f6daba07 /share/qtcreator/templates | |
parent | bfb971920a66730f7f3d4f859be35e6852570150 (diff) |
Add qbs support to library wizard
Change-Id: Id78bc547cf42dec8948d7ebca56eacfcbbd2f055
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'share/qtcreator/templates')
-rw-r--r-- | share/qtcreator/templates/wizards/projects/cpplibrary/project.qbs | 59 | ||||
-rw-r--r-- | share/qtcreator/templates/wizards/projects/cpplibrary/wizard.json | 17 |
2 files changed, 73 insertions, 3 deletions
diff --git a/share/qtcreator/templates/wizards/projects/cpplibrary/project.qbs b/share/qtcreator/templates/wizards/projects/cpplibrary/project.qbs new file mode 100644 index 0000000000..0e5df73e84 --- /dev/null +++ b/share/qtcreator/templates/wizards/projects/cpplibrary/project.qbs @@ -0,0 +1,59 @@ +import qbs.FileInfo + +@if %{IsStatic} +StaticLibrary { +@else +DynamicLibrary { +@endif +@if '%{QtModule}' === 'none' + Depends { name: "cpp" } +@else + Depends { name: "Qt.%{QtModule}" } +@endif + + cpp.cxxLanguageVersion: "c++11" + cpp.defines: [ +@if %{IsShared} + "%{LibraryDefine}", +@endif +@if %{IsQtPlugin} + "QT_PLUGIN", +@endif + + // The following define makes your compiler emit warnings if you use + // any Qt feature that has been marked deprecated (the exact warnings + // depend on your compiler). Please consult the documentation of the + // deprecated API in order to know how to port your code away from it. + "QT_DEPRECATED_WARNINGS", + + // You can also make your code fail to compile if it uses deprecated APIs. + // In order to do so, uncomment the following line. + // You can also select to disable deprecated APIs only up to a certain version of Qt. + // "QT_DISABLE_DEPRECATED_BEFORE=0x060000", // disables all the APIs deprecated before Qt 6.0.0 + ] + + files: [ + "%{SrcFileName}", +@if %{IsShared} + "%{GlobalHdrFileName}", +@endif + "%{HdrFileName}", +@if %{IsQtPlugin} + "%{PluginJsonFile}", +@endif + ] + +@if '%{TargetInstallPath}' != '' + // Default rules for deployment. + qbs.installPrefix: "" + Properties { + condition: qbs.targetOS.contains("unix") + install: true +@if %{IsQtPlugin} + installDir: FileInfo.joinPaths(Qt.core.pluginPath, "%{PluginTargetPath}") +@else + installDir: "%{TargetInstallPath}" +@endif + } +@endif +} diff --git a/share/qtcreator/templates/wizards/projects/cpplibrary/wizard.json b/share/qtcreator/templates/wizards/projects/cpplibrary/wizard.json index e61048a4b6..8f4c264499 100644 --- a/share/qtcreator/templates/wizards/projects/cpplibrary/wizard.json +++ b/share/qtcreator/templates/wizards/projects/cpplibrary/wizard.json @@ -1,6 +1,6 @@ { "version": 1, - "supportedProjectTypes": [ "CMakeProjectManager.CMakeProject", "Qt4ProjectManager.Qt4Project" ], + "supportedProjectTypes": [ "CMakeProjectManager.CMakeProject", "Qbs.QbsProject", "Qt4ProjectManager.Qt4Project" ], "id": "H.CppLibrary", "category": "G.Library", "trDescription": "Creates a C++ library. This can be used to create:<ul><li>a shared C++ library for use with <tt>QPluginLoader</tt> and runtime (Plugins)</li><li>a shared or static C++ library for use with another project at linktime</li></ul>", @@ -11,8 +11,8 @@ "options": [ - { "key": "ProjectFile", "value": "%{JS: value('BuildSystem') === 'qmake' ? value('ProFile') : value('CMakeFile')}" }, - { "key": "ProFile", "value": "%{JS: Util.fileName(value('ProjectDirectory') + '/' + value('ProjectName'), 'pro')}" }, + { "key": "ProjectFile", "value": "%{JS: value('BuildSystem') === 'cmake' ? value('CMakeFile') : value('ProFile')}" }, + { "key": "ProFile", "value": "%{JS: Util.fileName(value('ProjectDirectory') + '/' + value('ProjectName'), value('BuildSystem') === 'qmake' ? 'pro' : 'qbs')}" }, { "key": "CMakeFile", "value": "%{ProjectDirectory}/CMakeLists.txt" }, { "key": "PluginJsonFile", "value": "%{JS: Util.fileName(value('ProjectName'), 'json')}" }, { "key": "IsShared", "value": "%{JS: value('Type') === 'shared'}" }, @@ -67,6 +67,11 @@ "trKey": "CMake", "value": "cmake", "condition": "%{JS: value('Plugins').indexOf('CMakeProjectManager') >= 0}" + }, + { + "trKey": "Qbs", + "value": "qbs", + "condition": "%{JS: value('Plugins').indexOf('QbsProjectManager') >= 0}" } ] } @@ -292,6 +297,12 @@ "condition": "%{JS: value('BuildSystem') === 'qmake'}" }, { + "source": "project.qbs", + "target": "%{ProFile}", + "openAsProject": true, + "condition": "%{JS: value('BuildSystem') === 'qbs'}" + }, + { "source": "CMakeLists.txt", "openAsProject": true, "condition": "%{JS: value('BuildSystem') === 'cmake'}" |