[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwrite-devel
Subject:    Re: Supporting the CMake file API in the project/build plugin ?
From:       Alexander Neundorf <neundorf () kde ! org>
Date:       2023-11-15 22:09:07
Message-ID: 3974991.ZaRXLXkqSa () unknownc4d9870202f1
[Download RAW message or body]

Hi,

On Donnerstag, 7. September 2023 20:44:07 CET christoph@cullmann.io wrote:
> On 2023-09-06 23:32, Alexander Neundorf wrote:
> > Hi,
> > 
> > currently cmake can generate a kate project file, and then, when kate
> > opens
> > some file in the buildtree, e.g. the project file, the kate project
> > plugin reads
> > the project file and populates the list of files and the build targets.
> > With cmake 3.27 this has been marked officially as obsolete (even
> > though the
> > kate project generator gained some features in cmake 3.27).
> > 
> > Nevertheless, medium term it would be better if kate would use the
> > cmake file
> > API.
> > What would that mean ?
> > kate could search the CMakeCache.txt for CMAKE_PROGRAM, which contains
> > the
> > path to the cmake executable which generated this buildtree.
> > Then kate would write some simple json file into the build tree, and
> > then rerun
> > cmake on that buildtree.
> > cmake will see the file kate has written, and generate a json file
> > which
> > contains the source directory, the list of targets, the source files
> > for each
> > target.
> > With this information kate could:
> > - use that list of source files as project files, or use the git/svn
> > support in
> > kate to get all files which are in the source directory
> > - get  the list of targets and generate a build target for each of
> > them. Those
> > could be executed by running cmake (so it would automatically work for
> > any
> > build tree, whether it is ninja, make, or msvc): cmake --build
> > <buildir> --
> > config <Config> --target <target>
> > 
> > What do you suggest how this would fit into the project- and
> > build-plugins ?
> > I guess the session support is not related ?
> 
> Hi,
> 
> thanks for taking a look at that!
> 
> I think that would fit into the project plugin as another auto-discovery
> mode,
> like we have it for the various version control systems.
> 
> There we execute the git/.../... commands.

I've got a first version working locally here (still Qt5 based).
So I'll clone on gitlab and create a merge request ?

Alex



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic