Derive the relative paths used in code from the paths used by the build
system.
Change-Id: I208ee55d3c1ee76921734f5c1c6c40d3fcb9724c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
In
commit 31258ec555
qbs build: Introduce libclang module.
"llvmVersion" was overlooked.
Because of this, the definition of CLANG_RESOURCE_DIR in
clangcodemodel.qbs led to an invalid path which eventually was
discarded.
Change-Id: Ia1eb50cf738df4affbedc99849bf5326a8e8fb19
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
We already ship with a cherry-picked change from version 3.9.
Change-Id: Iad09ac8db470506c5de0321f3a2346c549b11b31
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
It was an oversight that we haven't done this before.
Change-Id: Ic338503f6c1ca5e6c52c9af3bdbdb92b7776cac1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This is The Right Way to detect libclang. Using a Probe will also
slightly improve performance in qbs 1.6 due to the result caching.
Change-Id: I063a8d108d02b620dda2df75dd8c014c84f27ec7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
If ProParser is a library, all plugins depending on it (to be able to
get at the include paths) will also link to it, but there must be only
one instance of its data present. So we go back to building the sources
as part of the QtSupport plugin, while the ProParser product is now only
responsible for exporting the necessary defines and include paths.
Change-Id: I9ad62343064d8aea8ddc4776a462308c4d6ae283
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
- 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 is needed to build plugins "out of source".
Change-Id: If842cde86e1eb54daa3daf7f9d6f27751f657d9e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Namely:
- Install header files.
- Install imports and modules.
- Create modules from products and install them.
This is most of what we need. The main thing still left to do is
dealing with paths in Export items. These have to be translated
somehow. (Currently we only copy the Depends items out of the
Export items and ignore everything else.)
Change-Id: I12d49fa31d1c1e05bc77a0e0ce3ec9c78c27192a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The qtc module gathers properties that used to live in the top-level
project file. This is the first step towards making it possible to build
plugins against an installed Qt Creator ("out of source build").
Change-Id: Ia1514cc9c888e80be01b308e908de48980fcbdb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
By default, a clean settings path is used for test environment.
All the default plugins are loaded, although they're not needed.
This change significantly improves loading time for tests.
Change-Id: I24254f3e538e3f0e6d233d0989738dc1ce238209
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
That item was using a directory as an output artifact, which was only
working by accident and often caused warning messages about failure to
remove files.
Use a proper module instead, which is the nicer solution anyway.
Change-Id: Ib75a0ce26a24c78eb5421367995a8fc72f6a3c2a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
The original name inconveniently starts with 'plugin', creating a
conflict for shell tab completion when trying to enter src/plugins/...
taking extra keystrokes to resolve.
Change-Id: I7fa59d767aa900f73cd643dfab0d5b2131652a2d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>