forked from qt-creator/qt-creator
Add qbs support to library wizard
Change-Id: Id78bc547cf42dec8948d7ebca56eacfcbbd2f055 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -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
|
||||
}
|
@@ -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}"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -291,6 +296,12 @@
|
||||
"openAsProject": true,
|
||||
"condition": "%{JS: value('BuildSystem') === 'qmake'}"
|
||||
},
|
||||
{
|
||||
"source": "project.qbs",
|
||||
"target": "%{ProFile}",
|
||||
"openAsProject": true,
|
||||
"condition": "%{JS: value('BuildSystem') === 'qbs'}"
|
||||
},
|
||||
{
|
||||
"source": "CMakeLists.txt",
|
||||
"openAsProject": true,
|
||||
|
Reference in New Issue
Block a user