Re: meson or generic ninja support?
Aleix Pol <[email protected]>
| Newsgroups | gmane.comp.kde.users.kdevelop |
|---|---|
| Message-ID | <CACcA1Ro106iFrFX=0VxF42mWyKHzE9gfzszirBcJUJ38e_b26Q@mail.gmail.com> |
On Mon, Oct 9, 2017 at 5:37 PM, Axel Kellermann <[email protected]> wrote: > 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. Aleix