Summary: | Unwanted build targets passed to ninja build system | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Kevin Funk <kfunk> |
Component: | Build tools: Ninja | Assignee: | kdevelop-bugs-null |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | aleixpol, hiteshkaushik545, kfunk |
Priority: | NOR | ||
Version: | 4.6.60 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Kevin Funk
2013-12-03 09:41:17 UTC
Agreed, we should probably only add the ones that are part of the main build. Git commit 7e9ccb12797b43ad9deaef00a75a11b8afe92302 by Kevin Funk. Committed on 30/12/2013 at 17:28. Pushed by kfunk into branch 'master'. NinjaBuilder: Don't fetch targets recursively My argumentation for this patch: *If* there are targets in any of the subdirectories, these are marked as dependency of one the targets in the current directory. => We don't need to pass those targets explicitely to the ninja call. This fixes the issue of importing targets from subdirectories that are not marked as dependency of one of the targets in the current directory. C.f. comment #1 in 328364. M +0 -3 projectbuilders/ninjabuilder/kdevninjabuilderplugin.cpp http://commits.kde.org/kdevelop/7e9ccb12797b43ad9deaef00a75a11b8afe92302 Some more food for thought: Just had a discussion with Aleix in #kdevelop: There's another interesting part here which will likely break the ninja integration in KDevelop: Assume there are two targets in CMakeLists.txt: "uninstall" (which is disruptive) and "all" (which builds all the files). Currently, KDevelop would pass both "uninstall" and "all" to ninja in case we would try to build the folder containing the CMakeLists.txt. We don't want that. Indeed the solution would be to be more clever regarding the selection of targets we want to build. |