Supporting the CMake file API in the project/build plugin ?
Alexander Neundorf <[email protected]> Wed, 06 Sep 2023 23:32:15 +0200
| Newsgroups | gmane.comp.kde.devel.kwrite |
|---|---|
| Message-ID | <13368583.uLZWGnKmhe@unknownc4d9870202f1> |
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