Supporting the CMake file API in the project/build plugin ?

christoph at cullmann.io christoph at cullmann.io
Thu Sep 7 19:44:07 BST 2023


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.

Greetings
Christoph

> 
> Thanks
> Alex


More information about the KWrite-Devel mailing list