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