D19856: find ruby gems & make coverage conditional on BUILD_COVERAGE

Harald Sitter noreply at phabricator.kde.org
Mon Mar 18 14:39:14 GMT 2019


sitter created this revision.
Herald added a project: Dolphin.
Herald added a subscriber: kfm-devel.
sitter requested review of this revision.

REVISION SUMMARY
  new finding tech:
  
  - find_gem function configures gem-specific FindFoo files and wraps around find_package
  - FindFoo files look for ruby and then attempt to require the gem name i.e. it checks if the gem can be successfully loaded by the interpreter
  - since this is based on find_package it may be influenced in all the regular ways (e.g. forced found or disabled from finding altogether via CMAKE_DISABLE_FIND_PACKAGE_$PKGNAME)
  
  various notes for the future:
  
  - technically this isn't 100% correct because the require name of a gem and the gem name may not be the same. e.g. the gem `docker-api` has the require name `docker`. for all currently used gems the names are however the same and so simply requiring the gem name is expected to work
  - the implementation doesn't care about versions, again because we don't need it to
  - test-unit is a bundled gem, some distributions (e.g. Arch) do split it out without making suitable dependency arrangements on a package level though
  
  the tech is heavily inspired by Aleix Pol's tech for finding QML modules
  as seen in extra-cmake-modules

TEST PLAN
  - ruby not found: none of the modules found
  - test-unit not present: error
  - simplecov not prseent: never errors
  - having a module installed or not is reported in the cmake output

REPOSITORY
  R318 Dolphin

BRANCH
  master

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

AFFECTED FILES
  cmake/FindGem.cmake
  cmake/FindGem.cmake.in
  src/tests/CMakeLists.txt

To: sitter
Cc: kfm-devel, alexde, feverfew, spoorun, navarromorales, firef, andrebarros, emmanuelp, mikesomov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20190318/fcaf7c32/attachment.htm>


More information about the kfm-devel mailing list