[cmake-developers] refactor-progress topic regressed Makefile progress

Stephen Kelly steveire at gmail.com
Tue Sep 1 12:54:14 EDT 2015


On Mon, Aug 31, 2015 at 4:42 PM, Brad King <brad.king at kitware.com> wrote:

> During the actual build I get no progress output either.
> The problem bisects to:
>
>  cmGlobalUnixMakefileGenerator3: Implement progress in terms of cmState.
>  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7fbc56ac
>
> Please take a look.

Sorry about that.

That commit changed the container key from something unique - there is
one cmLocalGenerator per directory - to something not unique - there
are multiple snapshots per directory.

The cmGlobalUnixMakefileGenerator3::InitializeProgressMarks() method
should always use a predicable snapshot, and the
::CountProgressMarksInAll should use the same predicable one. The last
snapshot for a directory should be the predictable one to use.

I made the attached patch to make
cmState::GetBuildsystemDirectoryParent always return the last snapshot
for a directory, which will make sense anyway when properties are
versioned. That should account for one of the callers because it is
always called after Configure() is finished, so the last snapshot is
known.

The ::CountProgressMarksInAll uses cmLocalGenerator::GetStateSnapshot,
which is recorded when the cmLocalGenerator is created (so in master
it is not the last snapshot for the directory). That would not be a
problem if commit 7ccd4a7ceeeb5ec04c62cf5c2c6f7e31430bc254 had passed
CI, but the other attached patch should be enough to fix it too.

Unfortunately I won't have time until next week to verify this or to
work on getting the fix through CI, so if you can, please verify my
clams and take the patches from here.

Thanks,

Steve.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix.patch
Type: application/octet-stream
Size: 866 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20150901/7218f25b/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: possibly.patch
Type: application/octet-stream
Size: 710 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20150901/7218f25b/attachment-0001.obj>


More information about the cmake-developers mailing list