Re: Supporting the CMake file API in the project/build plugin ?
[email protected] Thu, 07 Sep 2023 20:44:07 +0200
| Newsgroups | gmane.comp.kde.devel.kwrite |
|---|---|
| Message-ID | <[email protected]> |
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