meson or generic ninja support?

Axel Kellermann axel.kellermann at gmx.de
Mon Oct 9 16:37:00 BST 2017


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.
> 
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: OpenPGP digital signature
URL: <http://mail.kde.org/pipermail/kdevelop/attachments/20171009/4b0aab38/attachment.sig>


More information about the KDevelop mailing list