forked from qt-creator/qt-creator
qbs build: Final steps to support building plugins "out of source".
- Use the entire Export block when creating a module, not just the Depends items. Adapt references to the product source directory and the "share" directory so that they point to the respective locations in the install tree. - Install dev headers for some more plugins. - Bug fixes & polishing. Create a "dev installation" like this: $ qbs qtc.make_dev_package:true qbs.installRoot:<install root> Then build your plugin against it like this: $ qbs qtc.make_dev_package:true qbs.installRoot:<install root> project.qbsSearchPaths:<install root>/qbs-resources (Using qbs from 1.5 branch; 1.5.1 requires a trivial wrapper project.) That's all. Successfully tested with all commercial plugins on Linux. Change-Id: Ie39c4717dafcd431c533421a15f2f898783d8521 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -1,84 +1,86 @@
|
||||
import qbs 1.0
|
||||
|
||||
QtcLibrary {
|
||||
Project {
|
||||
name: "QmlJS"
|
||||
|
||||
cpp.defines: base.concat([
|
||||
"QMLJS_BUILD_DIR"
|
||||
])
|
||||
cpp.optimization: "fast"
|
||||
QtcDevHeaders { }
|
||||
|
||||
Depends { name: "ExtensionSystem" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "LanguageUtils" }
|
||||
Depends { name: "CPlusPlus" }
|
||||
Depends { name: "Qt"; submodules: ["widgets", "xml"] }
|
||||
QtcLibrary {
|
||||
cpp.defines: base.concat(["QMLJS_BUILD_DIR"])
|
||||
cpp.optimization: "fast"
|
||||
|
||||
Group {
|
||||
name: "General"
|
||||
files: [
|
||||
"jsoncheck.cpp", "jsoncheck.h",
|
||||
"persistenttrie.cpp", "persistenttrie.h",
|
||||
"qmljs_global.h",
|
||||
"qmljsbind.cpp", "qmljsbind.h",
|
||||
"qmljsbundle.cpp", "qmljsbundle.h",
|
||||
"qmljscheck.cpp", "qmljscheck.h",
|
||||
"qmljscodeformatter.cpp", "qmljscodeformatter.h",
|
||||
"qmljscompletioncontextfinder.cpp", "qmljscompletioncontextfinder.h",
|
||||
"qmljsconstants.h",
|
||||
"qmljscontext.cpp", "qmljscontext.h",
|
||||
"qmljsdescribevalue.cpp", "qmljsdescribevalue.h",
|
||||
"qmljsdocument.cpp", "qmljsdocument.h",
|
||||
"qmljsevaluate.cpp", "qmljsevaluate.h",
|
||||
"qmljsfindexportedcpptypes.cpp", "qmljsfindexportedcpptypes.h",
|
||||
"qmljsicons.cpp", "qmljsicons.h",
|
||||
"qmljsicontextpane.h",
|
||||
"qmljsimportdependencies.cpp", "qmljsimportdependencies.h",
|
||||
"qmljsindenter.cpp", "qmljsindenter.h",
|
||||
"qmljsinterpreter.cpp", "qmljsinterpreter.h",
|
||||
"qmljsdialect.cpp", "qmljsdialect.h",
|
||||
"qmljslineinfo.cpp", "qmljslineinfo.h",
|
||||
"qmljslink.cpp", "qmljslink.h",
|
||||
"qmljsmodelmanagerinterface.cpp", "qmljsmodelmanagerinterface.h",
|
||||
"qmljsplugindumper.cpp", "qmljsplugindumper.h",
|
||||
"qmljspropertyreader.cpp", "qmljspropertyreader.h",
|
||||
"qmljsqrcparser.cpp", "qmljsqrcparser.h",
|
||||
"qmljsreformatter.cpp", "qmljsreformatter.h",
|
||||
"qmljsrewriter.cpp", "qmljsrewriter.h",
|
||||
"qmljsscanner.cpp", "qmljsscanner.h",
|
||||
"qmljsscopeastpath.cpp", "qmljsscopeastpath.h",
|
||||
"qmljsscopebuilder.cpp", "qmljsscopebuilder.h",
|
||||
"qmljsscopechain.cpp", "qmljsscopechain.h",
|
||||
"qmljssimplereader.cpp", "qmljssimplereader.h",
|
||||
"qmljsstaticanalysismessage.cpp", "qmljsstaticanalysismessage.h",
|
||||
"qmljstypedescriptionreader.cpp", "qmljstypedescriptionreader.h",
|
||||
"qmljsutils.cpp", "qmljsutils.h",
|
||||
"qmljsvalueowner.cpp", "qmljsvalueowner.h",
|
||||
"qmljsviewercontext.cpp", "qmljsviewercontext.h"
|
||||
]
|
||||
}
|
||||
|
||||
Group {
|
||||
name: "Parser"
|
||||
prefix: "parser/"
|
||||
files: [
|
||||
"qmldirparser.cpp", "qmldirparser_p.h",
|
||||
"qmlerror.cpp", "qmlerror.h",
|
||||
"qmljsast.cpp", "qmljsast_p.h",
|
||||
"qmljsastfwd_p.h",
|
||||
"qmljsastvisitor.cpp", "qmljsastvisitor_p.h",
|
||||
"qmljsengine_p.cpp", "qmljsengine_p.h",
|
||||
"qmljsglobal_p.h",
|
||||
"qmljsgrammar.cpp", "qmljsgrammar_p.h",
|
||||
"qmljskeywords_p.h",
|
||||
"qmljslexer.cpp", "qmljslexer_p.h",
|
||||
"qmljsmemorypool_p.h",
|
||||
"qmljsparser.cpp", "qmljsparser_p.h",
|
||||
]
|
||||
}
|
||||
|
||||
Export {
|
||||
Depends { name: "CPlusPlus" }
|
||||
Depends { name: "ExtensionSystem" }
|
||||
Depends { name: "Utils" }
|
||||
Depends { name: "LanguageUtils" }
|
||||
Depends { name: "CPlusPlus" }
|
||||
Depends { name: "Qt"; submodules: ["widgets", "xml"] }
|
||||
|
||||
Group {
|
||||
name: "General"
|
||||
files: [
|
||||
"jsoncheck.cpp", "jsoncheck.h",
|
||||
"persistenttrie.cpp", "persistenttrie.h",
|
||||
"qmljs_global.h",
|
||||
"qmljsbind.cpp", "qmljsbind.h",
|
||||
"qmljsbundle.cpp", "qmljsbundle.h",
|
||||
"qmljscheck.cpp", "qmljscheck.h",
|
||||
"qmljscodeformatter.cpp", "qmljscodeformatter.h",
|
||||
"qmljscompletioncontextfinder.cpp", "qmljscompletioncontextfinder.h",
|
||||
"qmljsconstants.h",
|
||||
"qmljscontext.cpp", "qmljscontext.h",
|
||||
"qmljsdescribevalue.cpp", "qmljsdescribevalue.h",
|
||||
"qmljsdocument.cpp", "qmljsdocument.h",
|
||||
"qmljsevaluate.cpp", "qmljsevaluate.h",
|
||||
"qmljsfindexportedcpptypes.cpp", "qmljsfindexportedcpptypes.h",
|
||||
"qmljsicons.cpp", "qmljsicons.h",
|
||||
"qmljsicontextpane.h",
|
||||
"qmljsimportdependencies.cpp", "qmljsimportdependencies.h",
|
||||
"qmljsindenter.cpp", "qmljsindenter.h",
|
||||
"qmljsinterpreter.cpp", "qmljsinterpreter.h",
|
||||
"qmljsdialect.cpp", "qmljsdialect.h",
|
||||
"qmljslineinfo.cpp", "qmljslineinfo.h",
|
||||
"qmljslink.cpp", "qmljslink.h",
|
||||
"qmljsmodelmanagerinterface.cpp", "qmljsmodelmanagerinterface.h",
|
||||
"qmljsplugindumper.cpp", "qmljsplugindumper.h",
|
||||
"qmljspropertyreader.cpp", "qmljspropertyreader.h",
|
||||
"qmljsqrcparser.cpp", "qmljsqrcparser.h",
|
||||
"qmljsreformatter.cpp", "qmljsreformatter.h",
|
||||
"qmljsrewriter.cpp", "qmljsrewriter.h",
|
||||
"qmljsscanner.cpp", "qmljsscanner.h",
|
||||
"qmljsscopeastpath.cpp", "qmljsscopeastpath.h",
|
||||
"qmljsscopebuilder.cpp", "qmljsscopebuilder.h",
|
||||
"qmljsscopechain.cpp", "qmljsscopechain.h",
|
||||
"qmljssimplereader.cpp", "qmljssimplereader.h",
|
||||
"qmljsstaticanalysismessage.cpp", "qmljsstaticanalysismessage.h",
|
||||
"qmljstypedescriptionreader.cpp", "qmljstypedescriptionreader.h",
|
||||
"qmljsutils.cpp", "qmljsutils.h",
|
||||
"qmljsvalueowner.cpp", "qmljsvalueowner.h",
|
||||
"qmljsviewercontext.cpp", "qmljsviewercontext.h"
|
||||
]
|
||||
}
|
||||
|
||||
Group {
|
||||
name: "Parser"
|
||||
prefix: "parser/"
|
||||
files: [
|
||||
"qmldirparser.cpp", "qmldirparser_p.h",
|
||||
"qmlerror.cpp", "qmlerror.h",
|
||||
"qmljsast.cpp", "qmljsast_p.h",
|
||||
"qmljsastfwd_p.h",
|
||||
"qmljsastvisitor.cpp", "qmljsastvisitor_p.h",
|
||||
"qmljsengine_p.cpp", "qmljsengine_p.h",
|
||||
"qmljsglobal_p.h",
|
||||
"qmljsgrammar.cpp", "qmljsgrammar_p.h",
|
||||
"qmljskeywords_p.h",
|
||||
"qmljslexer.cpp", "qmljslexer_p.h",
|
||||
"qmljsmemorypool_p.h",
|
||||
"qmljsparser.cpp", "qmljsparser_p.h",
|
||||
]
|
||||
}
|
||||
|
||||
Export {
|
||||
Depends { name: "CPlusPlus" }
|
||||
Depends { name: "LanguageUtils" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user