Challenge for real experts: why does cmake 3.1.3 not use automoc for a certain file?

Alex Merry alex.merry at kde.org
Tue Jun 23 20:31:31 UTC 2015


On Wednesday 17 June 2015 23:11:33 Friedrich W. H. Kossebau wrote:
> Am Dienstag, 16. Juni 2015, 19:16:11 schrieb Friedrich W. H. Kossebau:
> > Interesting... seems renaming the target "KisAsyncMergerTest" to something
> > else, e.g. "KisAsyncMergerTest_" unbreaks this.
> > Any explanation? There is no other target with that name
> > "KisAsyncMergerTest".
> > 
> > Having done that workaround, now another target is hit with the same
> > problem, KisBookmarkedConfigurationManagerTest. Got the same treatment
> > with
> > _ appended, proper automoc targets now created for me locally.
> > 
> > Currently waiting if CI finds the next problem now (not enough disk space
> > left right now locally for giving a full test myself with the other cmake
> > version, Calligra/Krita is too large :), so partially relying on
> > build.kde.org).
> > 
> > Could there be some hash collision or something else? There are a lot of
> > targets in that CMakeLists.txt, perhaps more than someone expected...
> > http://quickgit.kde.org/?p=calligra.git&a=blob&h=082747066eb6910d29a7fd3a5
> > 9b 6b531af529e95&f=krita%2Fimage%2Ftests%2FCMakeLists.txt&o=plain
> 
> So I renamed three test build targets in a row, and everytime another test
> target started failing, with automoc no longer being run. With current
> "frameworks" branch build now fails on KisFilterMaskTest, due to no automoc
> run.
> 
> Just tried cmake-3.3.0-rc2, and things are okay there again, builds fine
> with automoc run on all files where needed.
> 
> So... what do you recommend to do? Blacklist some cmake versions and not
> build the tests there? Any other workarounds possible?
> 
> Do I better contact the cmake guys directly, or is there still some KDE
> contact man/woman on this list?

Blacklisting might be your best bet. If it works with 3.3.0, the CMake folks 
are, honestly, unlikely to be willing to do anything - patch releases are 
generally not made after a new feature release is out.

As for other workarounds, that would be a case of either trying things out 
blindly or trying to track down exactly why this is happening. I thought I had 
tried and failed to reproduce the problem with CMake 3.1.3, but I can't find 
any evidence of that, so I may be misremembering. If I can, I'll spend a 
little time trying to track down the issue, but I can't promise that I'll get 
anywhere with that.

Alex


More information about the Kde-buildsystem mailing list