Changes in GMock

Konrad Zemek konrad.zemek at gmail.com
Tue Oct 1 08:19:09 UTC 2013


Hey,

2013/10/1 Mark Kretschmann <kretschmann at kde.org>
>
> So essentially GMock is no longer provided as a binary package, but
> instead it has to be compiled from source. While that's not an
> insurmountable problem, I think it would be beneficial to discuss it.
> Also because we could still influence the packaging to some degree if
> we can find a better solution.

I ran into problems with gmock lately on Arch as well.
The way I see it, possible solutions are:

* go the way of Mir: find sources installed by Kubuntu's package in
  "FindGmock.cmake" (in Mir it's FindGtest.cmake)
  downsides: depends on how distro packages gmock; e.g. Arch has no
  gmock package in official repos. Also, gmock version is out of our
  control.

* use CMake's ExternalProject_add. This is the method that I use in
  my projects, additionally hidden behind FindGmock.cmake. Here we
  control gmock version and at the same time not store its sources
  in our repository.
  downsides: sources have to be downloaded during "make" step.
  Include directories are also not there before running cmake.

* pull gmock's sources into our repository and add it through
  add_directory(). This is by far the easiest option, and we still control
  the version, and we have include files in place.
  downsides: sources are in our repository.

* make a user manage his own gmock and set CMake options to point
  to right files/directories. This is how I worked around my problems.
  downsides: horribly inconvenient, only here for the sake of
  completeness.

As I mentioned, ExternalProject_add() abstracted behind
FindGmock.cmake is the option that I personally use and prefer.
It can also be used in conjunction with in-repo tar file to dodge
downloading.

    Konrad


More information about the Amarok-devel mailing list