Hi Ben,
Out of curiosity and since the OP is comparing Tup with CMake, do you
have any experience with CMake+Ninja compiling generated source code?
For instance, my project has some large C++ files that get generated as
part of the build process, and those source files #include additional
project headers, some of which might also be generated. In fact, the
generator itself is built as part of the project. Does CMake + Ninja
discover that the generated C++ files depend on certain headers so that
if I change one of the headers then the generated C++ gets recompiled
without necessarily regenerating it first? In other words, does
CMake+Ninja run the dependency-discovery step just once at the beginning
(before generated files are generated) or does it know to run the
dependency-discovery during the build whenever source is newly generated?
--Robb
On 12/20/19 11:36 AM, Ben Boeckel wrote:
On Fri, Dec 20, 2019 at 08:26:41 -0800, Gerardo Delgadillo wrote:
Mostly h and cpp files, really. The Eclipse build system is horrible at
that, and we want to get out of that nightmare. I.e. change a library cpp
file and executables using that library may or may not get re-linked. Even
worse: Sometimes Eclipse builds everything just because!
The Ninja generator is definitely the most well-behaved CMake generator
for efficient builds. It uses `-MD` and `/showIncludes`, so its C++
dependency list computation is "exact" in that sense. The Makefiles
generator has an over-building tendency, but that's due to the command
line tracking making per-source flags cause rebuilds of all objects in
the library or executable (the "lots of tiny files" problem I mentioned
before).
--Ben
--
--
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
---
You received this message because you are subscribed to the Google Groups "tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/tup-users/a802734f-0f65-6bbb-bf31-f9061e351c48%40hoosierfocus.com.