meson or generic ninja support?
kfunk at kde.org
Mon Oct 9 17:05:41 BST 2017
On Monday, 9 October 2017 17:43:52 CEST Aleix Pol wrote:
> On Mon, Oct 9, 2017 at 5:37 PM, Axel Kellermann <axel.kellermann at gmx.de>
> > I'd be willing to help out with this, but I'd also need some guidance by
> > someone with more experience with kdevelop and project manager plugins.
> > Up till now I've only done some minor bugfixing concerning cmake
> > integration. So I have a hunch, but not a clear idea, what meson
> > integration actually encompasses.
> > With the little experience I have, I imagine we have to have
> > 1) A configure job that runs meson/mesonconf
> > 2) UI elements for setting up projects and their parameters
> > 3) A build job (relying on ninja and the content of compile_commands.json)
> > 4) A parse job to check for syntactical correctness of meson build scripts
> > 5) Some glue code to react to output of meson jobs (OutputView etc.)
> > Is that - at least to some degree - correct? If not, could someone please
> > outline what has to be done and give me some pointers where to look for
> > similar stuff in the kdevelop source tree?
> > Also, would it be a valid first step to do integration without
> > implementing 4? Technically that's not really necessary for properly
> > setting up meson projects, right?
> > Regards,
> > Axel
> > On 07.08.2017 09:59, Kevin Funk wrote:
> >> On Sunday, 6 August 2017 08:45:06 CEST René J.V. Bertin wrote:
> >>> On Saturday August 05 2017 01:18:20 Aleix Pol wrote:
> >>>> Of course not. You should start a meson plugin, not refactor the cmake
> >>>> one.
> >>> Frankly, I don't know (and don't have much incentive to find out) what's
> >>> better/easier, strip the unneeded parts from the cmake plugin or start
> >>> something completely from scratch.
> >> The compile_command.json parser should be factored out. The file format
> >> is
> >> build system agnostic. A couple of different build systems actually
> >> support
> >> generating these files (CMake, QBS, <a couple of hand-written scripts>,
> >> ...).
> >> For the rest, you'd still need a new plugin for Meson though.
> >> Regards,
> >> Kevin
> >>> I've seen only 1 aspect for now where meson is very different from both
> >>> configure and cmake: you cannot reinvoke it in an already configured
> >>> build
> >>> tree. Instead, you have to use the mesonconf executable, which doesn't
> >>> have
> >>> exactly the same calling signature.
> If you are interested I can write a proof of concept in the next few days.
@Axel: Best to get in touch with apol in #kdevelop on IRC @ Freenode.
You talked about similar functionality in the KDevelop source tree -- have a
look at the cmake or qmake manager:
plugins/cmake* and plugins/qmake*
Kevin Funk | kfunk at kde.org | http://kfunk.org
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 163 bytes
Desc: This is a digitally signed message part.
More information about the KDevelop