D14731: Use "gmake" command in custommake plugin on FreeBSD. Fixes unit test.

Friedrich W. H. Kossebau noreply at phabricator.kde.org
Fri Aug 10 16:05:24 BST 2018


kossebau added a comment.


  In D14731#306229 <https://phabricator.kde.org/D14731#306229>, @arrowd wrote:
  
  > In D14731#306210 <https://phabricator.kde.org/D14731#306210>, @kossebau wrote:
  >
  > > Does the call rely on some GNU make features?  If so, that should be added at least as comment in the code, so it is clear why plain "make" does not work.
  >
  >
  > `MakeFileResolver::resolveIncludePathInternal` calls make with `--no-print-directory` flag, which isn't supported by BSD make.
  
  
  I see, so that should be documented then in the code, please.
  
  >> Also, is "gmake" part of the normal FreeBSD system? Or would we need to check first this exists in the runtime?
  > 
  > It is not, but what we can do if there is no `gmake`? Lets just require packagers to install gmake along with KDevelop.
  
  For one, the plugin could disable itself, like others do if their runtime dep is not found :) Which though should be improved in general, as this happens silently and the user is left clueless.
  In any case, MakeFileResolver::executeCommand() could get some error handling incl. a message box if the execution fails
  
  To make packagers & people building kdevelop aware of that dep, best copy FindCppcheck.cmake to some Findgmake.cmake or similar and adapt to what is needed with gmake in case of FreeBSD, then add to plugins/custommake/CMakeLists.txt this:
  
    if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
    find_package(gmake QUIET)
    set_package_properties(gmake PROPERTIES
        DESCRIPTION "The GNU make"
        PURPOSE "Required by the custommake plugin"
        TYPE RUNTIME
    )
    endif()

REPOSITORY
  R32 KDevelop

REVISION DETAIL
  https://phabricator.kde.org/D14731

To: arrowd, #kdevelop
Cc: kossebau, kdevelop-devel, antismap, iodelay, vbspam, geetamc, Pilzschaf, akshaydeo, surgenight, arrowd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20180810/b655dd31/attachment.html>


More information about the KDevelop-devel mailing list