Date: Wed, 4 May 2022 11:30:32 +0000
[Daniel]
> CMake is doing the pre-scanning and building a complete plan of
> everything that needs to be produced, and then all the file names are
> controlled by the build system, those edges are all part of the ninja
> dependency graph. In fact, that is a requirement for coherent
> incremental builds in the implementation being worked on in CMake
> land.
I understand that is the dependency setup from CMake perspective. It does not explain there is no implicit output assumption from the compiler's perspective in the case of internal partition.
> I'll defer to Ben for an example, I know it exists, but I don't have a
> link handy.
Looking forward to the example to help remove the disconnect.
-- Gaby
-----Original Message-----
From: Daniel Ruoso <daniel_at_[hidden]>
Sent: Tuesday, May 3, 2022 6:15 PM
To: Gabriel Dos Reis <gdr_at_microsoft.com>
Cc: Ben Boeckel <ben.boeckel_at_[hidden]e.com>; sg15_at_lists.isocpp.org; Tom Honermann <tom_at_honermann.net>
Subject: Re: [SG15] P2581R0: Specifying the Interoperability of Binary Module Interface Files
Em ter., 3 de mai. de 2022 às 21:11, Gabriel Dos Reis
<gdr_at_microsoft.com> escreveu:
> I would love a concrete example to help me walk through why an implicit
> output is not being asked for in the case of internal partition.
CMake is doing the pre-scanning and building a complete plan of
everything that needs to be produced, and then all the file names are
controlled by the build system, those edges are all part of the ninja
dependency graph. In fact, that is a requirement for coherent
incremental builds in the implementation being worked on in CMake
land.
I'll defer to Ben for an example, I know it exists, but I don't have a
link handy.
daniel
> CMake is doing the pre-scanning and building a complete plan of
> everything that needs to be produced, and then all the file names are
> controlled by the build system, those edges are all part of the ninja
> dependency graph. In fact, that is a requirement for coherent
> incremental builds in the implementation being worked on in CMake
> land.
I understand that is the dependency setup from CMake perspective. It does not explain there is no implicit output assumption from the compiler's perspective in the case of internal partition.
> I'll defer to Ben for an example, I know it exists, but I don't have a
> link handy.
Looking forward to the example to help remove the disconnect.
-- Gaby
-----Original Message-----
From: Daniel Ruoso <daniel_at_[hidden]>
Sent: Tuesday, May 3, 2022 6:15 PM
To: Gabriel Dos Reis <gdr_at_microsoft.com>
Cc: Ben Boeckel <ben.boeckel_at_[hidden]e.com>; sg15_at_lists.isocpp.org; Tom Honermann <tom_at_honermann.net>
Subject: Re: [SG15] P2581R0: Specifying the Interoperability of Binary Module Interface Files
Em ter., 3 de mai. de 2022 às 21:11, Gabriel Dos Reis
<gdr_at_microsoft.com> escreveu:
> I would love a concrete example to help me walk through why an implicit
> output is not being asked for in the case of internal partition.
CMake is doing the pre-scanning and building a complete plan of
everything that needs to be produced, and then all the file names are
controlled by the build system, those edges are all part of the ninja
dependency graph. In fact, that is a requirement for coherent
incremental builds in the implementation being worked on in CMake
land.
I'll defer to Ben for an example, I know it exists, but I don't have a
link handy.
daniel
Received on 2022-05-04 11:30:35