On Mon, Aug 31, 2015 at 4:42 PM, Brad King <[email protected]> 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.

Attachment: fix.patch
Description: Binary data

Attachment: possibly.patch
Description: Binary data

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to