https://bugs.kde.org/show_bug.cgi?id=363184
Bug ID: 363184 Summary: reinstate building the default make target in project subdirs Product: kdevelop Version: git master Platform: Compiled Sources OS: All Status: UNCONFIRMED Severity: wishlist Priority: NOR Component: Buildtools: Make Assignee: kdevelop-bugs-n...@kde.org Reporter: rjvber...@gmail.com KDevelop 4.x has a convenient feature where you can issue a build command (via hotkey, context menu or the toplevel menu) with a project's subdirectory selected in the project manager. If the project uses Makefiles and one exists in that particular directory, only the default target at that level would be built. The implementation as far as I understand it from feedback in the Build view is extremely simple: 1) chdir into the target subdir 2) call make Reproducible: Always Steps to Reproduce: 1. Open a project that uses Unix Makefiles 2. Select a directory containing a Makefile (as indicated by the different folder icon) 3. Issue a build command Actual Results: KDevelop 4.7.3 will build only the source under the selected subdir, possibly after building any dependencies from elsewhere in the project (depending on whether that's required and the required information is available, which is usually the case for CMake-based projects) KDevelop 5 (4.90x) simply builds the full project Expected Results: KDevelop 4.7 has the preferred behaviour, which is also the behaviour I'd expect from a GUI IDE. As pointed out on the mailing list, it is still possible to select a target in the subdir of interest and build that. There are however several reasons why the possibility of building a default target would be convenient - in addition to the aforementioned fact that it's what you'd expect from a point-and-click interface where you select an item and tell it to build : 1) building a target requires the targets to be visible, which is done via a small icon at the top of the project manager 2) it isn't always that trivial to know what the default target is (or else what specific target to build after a point edit), even in projects you authored yourself after a certain time has passed 3) this is all the more true for autoconf based projects which tend to have sometimes incredibly long lists of targets - per subdirectory. 4) finding the target of choice in a long scroll list isn't a very efficient process, ditto for finding source files (IOW, long lists of build targets, say more than 5 or 6 are best kept hidden). As mentioned above, there shouldn't be any need for advanced parsing to determine the default target. Executing the make command in the selected directory should give the expected behaviour automatically (or else produce a sufficiently clear error message). The implementation thus seems something that doesn't require intimate knowledge of KDevelop's internal architecture, and something I should be able to do in parallel to my other occupations. I think I'd just need some pointers to figure out: - the classes and/or files that require changes (cmake, qmake, custom make project managers, which others, or is there a subclassed generic interface that could provide the feature?) - how to obtain the selected subdir in the method that handles the build action. -- You are receiving this mail because: You are watching all bug changes.