Running applications and unittests without "make install"

Friedrich W. H. Kossebau kossebau at kde.org
Wed Aug 30 04:10:10 UTC 2017


Hi Ben & all,

Am Samstag, 19. August 2017, 02:24:21 CEST schrieb Ben Cooksley:
> On Wed, Aug 16, 2017 at 3:17 AM, David Faure <faure at kde.org> wrote:
> > Hi everyone,
> 
> Hi David,
> 
> > The documentation for how to do that is now up at
> > 
> >  https://blogs.kde.org/2017/08/15/running-applications-and-unittests-witho
> >  ut-make-install> 
> > I have ported/fixed all frameworks, except for kirigami, and there are
> > still pending merge requests for kpackage.
> > 
> > I'm wondering if we could change the CI scripts so that they run the 
tests
> > before doing make install? For frameworks only, for now.
> 
> I've now done this, for Linux at least.

Any chance the bits about "For frameworks only, for now." was missed here? 
E.g. for kdevelop stable/master builds I now also see tests been run before 
install happens (which fails many of them).

Seems to me those bits were important, if looking at the code:

that code in ECM to support running tests uninstalled right now is only 
triggered by some "find_package(ECM x.y.z)", with x.y.z >= 5.38.0

Cmp. the
	NOT ("${ECM_GLOBAL_FIND_VERSION}" VERSION_LESS "5.38.0")
in https://cgit.kde.org/extra-cmake-modules.git/tree/kde-modules/
KDECMakeSettings.cmake#n252 , where ${ECM_GLOBAL_FIND_VERSION} is from
	set(ECM_GLOBAL_FIND_VERSION "${ECM_FIND_VERSION}")
in https://cgit.kde.org/extra-cmake-modules.git/tree/ECMConfig.cmake.in#n11

And that find_package of ECM with 5.38.0 is something only the KDE Frameworks 
repos do right now. Where other projects, like kdevelop, are fine with less 
recent versions (e.g. kdevelop master only expects ECM 5.14.0 as minimum), 
and thus would not trigger that new build layout needed for uninstalled 
testing.

So is it possible to limit that new build steps order to just the Frameworks 
product, and restore old behaviour for anyone else?

Perhaps in the long term also the logic in ECM needs to be changed, so the 
new build artifact placement can be triggered by other means from cmake code 
which is prepared for the optional new feature (by testing the version of the 
found ECM or some set feature flag variable). It will be quite some time for 
many application projects to jump to 5.38.0 as minimum ECM, given developers 
are sometimes bound to LTS distributions.

Cheers
Friedrich


More information about the Kde-frameworks-devel mailing list