Supporting the CMake file API in the project/build plugin ?
Alexander Neundorf
neundorf at kde.org
Wed Sep 6 22:32:15 BST 2023
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 ?
Thanks
Alex
More information about the KWrite-Devel
mailing list