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