[CMake] Buggy progress reporting

Jesper Eskilson jesper.eskilson at iar.com
Mon Jan 26 09:23:24 EST 2009


Michael Wild <themiwi at gmail.com> writes:

> On 26. Jan, 2009, at 15:05, Jesper Eskilson wrote:
>
>> Bill Hoffman <bill.hoffman at kitware.com> writes:
>>
>>> Gopala Krishna wrote:
>>>> On Mon, Jan 26, 2009 at 2:29 AM, Bill Hoffman
>>>> <bill.hoffman at kitware.com > wrote:
>>>>
>>>>> The progress reporting only supports one make at a time in the
>>>>> build tree.
>>>>>
>>>>> -Bill
>>>>>
>>>>
>>>> Is there any documentation somewhere on how the percentage reporting
>>>> is implemented ? If not it would really be helpful atleast to get a
>>>> hint on which source files to look at. :)
>>>>
>>>>
>>> No, not really, it uses a directory to communicate, and cmake -E
>>> cmake_progress_start.  If you grep for progress in the source tree
>>> and
>>> look at the Makefiles you can get the idea.  It is going to be very
>>> hard to make it work with more than one make in a tree.
>>
>> If the directory used for communication had a pid as part of its name,
>> wouldn't that solve it? Or is it more complicated than that? (I'm just
>> curious.)
>
> Lets say with process 1000 is building target A. Process 2000 is
> building target B at the same time. What happens if both depended on
> target C (e.g. a library) and tried to build it at the same time
> without knowing that there is another process trying to do the very
> same thing. This might lead to very buggy builds...
>
> I don't think this is anything CMake could ever possibly handle, as it
> also very strongly depends on the native build system (Make, VS,
> Xcode,...)

You're right, of course. (Since Bill said that the progress meter only
supported one build at a time, my brain started thinking how that
could be implemented, without considering the rest of the build
system.)

-- 
/Jesper



More information about the CMake mailing list