Summary: | CMake: switch from server mode to file-api | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Ben Boeckel <bugzilla.kde> |
Component: | Build tools: CMake | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/kde/kdevelop/commit/76ddc001950321190def89d2894cf452dd825870 | Version Fixed In: | |
Sentry Crash Report: |
Description
Ben Boeckel
2020-02-05 18:34:55 UTC
sigh yes very true... thanks for reminding us. I've started working on this now over at https://invent.kde.org/mwolff/kdevelop/commits/cmake-file-api OK, the branch is now ready for testing. There are some things left to be done, most notably support for runtimes (docker etc). I'll also have to test it on a real world project outside the unit tests now. Git commit d38ae65bc3b5304e13fd641b4971939e67f70d09 by Milian Wolff. Committed on 14/02/2020 at 09:23. Pushed by mwolff into branch 'master'. Start implementation of cmake-file-api support Before long, upstream cmake will remove the server support. Instead, the new cmake-file-api is supposed to be used. This patch adds the first baby steps towards that goal. We now write a query file to the required location before running the cmake configure job. Then we can look for the latest available index reply file that belongs to our client request. See: https://cmake.org/cmake/help/latest/manual/cmake-file-api.7.html M +1 -0 plugins/cmake/CMakeLists.txt A +97 -0 plugins/cmake/cmakefileapi.cpp [License: LGPL (v2+)] A +50 -0 plugins/cmake/cmakefileapi.h [License: LGPL (v2+)] M +1 -0 plugins/cmake/tests/CMakeLists.txt A +89 -0 plugins/cmake/tests/test_cmakefileapi.cpp [License: LGPL (v2+)] M +3 -1 plugins/cmakebuilder/cmakejob.cpp https://invent.kde.org/kde/kdevelop/commit/d38ae65bc3b5304e13fd641b4971939e67f70d09 Git commit 958bc087cc1804a054be553f1c81a325590afb12 by Milian Wolff. Committed on 14/02/2020 at 09:23. Pushed by mwolff into branch 'master'. Actually parse the cmake-file-api response files For now, this is only done in the unit test. We are also lacking support for runtimes, as I first want to clarify how this is supposed to be done and tested. M +158 -2 plugins/cmake/cmakefileapi.cpp M +16 -0 plugins/cmake/cmakefileapi.h M +27 -1 plugins/cmake/tests/test_cmakefileapi.cpp https://invent.kde.org/kde/kdevelop/commit/958bc087cc1804a054be553f1c81a325590afb12 Git commit 76ddc001950321190def89d2894cf452dd825870 by Milian Wolff. Committed on 14/02/2020 at 09:23. Pushed by mwolff into branch 'master'. Actually use the cmake-file-api for project import, if possible M +1 -0 plugins/cmake/CMakeLists.txt M +1 -1 plugins/cmake/cmakefileapi.cpp A +72 -0 plugins/cmake/cmakefileapiimportjob.cpp [License: LGPL (v2+)] A +52 -0 plugins/cmake/cmakefileapiimportjob.h [License: LGPL (v2+)] M +24 -3 plugins/cmake/cmakemanager.cpp https://invent.kde.org/kde/kdevelop/commit/76ddc001950321190def89d2894cf452dd825870 |