chalet icon indicating copy to clipboard operation
chalet copied to clipboard

Native compile strategy: header dependencies

Open rewrking opened this issue 4 years ago • 3 comments

No dependency management yet at all. At the moment, the native-experimental strategy is used as the default in CI builds since deps are not needed there, but locally, it's not really a viable option.

The way to do this I think would be to read through all the *.d files and consolidates them to a single list, goes through the list, gets the timestamp for each file, then compares them with the previous timestamp.

MSVC: *.d files have to be parsed from /showIncludes

rewrking avatar May 13 '21 13:05 rewrking

Noticed Ninja has a long pause when it's spun up after several files w/ headers are changed. If it's not just a huccup (although it's happened multiple times), it's probably crawling dependencies at that time - immediate files that were changed, then their dependants

rewrking avatar Jun 24 '21 11:06 rewrking

How about support for vcpkg or Conan?

mvladic avatar Jun 10 '22 14:06 mvladic

Poor choice of words in the title -- this is referring to individual cpp file dependency checking (getting a list of headers) in the "native" build strategy (ie. without ninja/makefile behind the scenes).

At the moment, you can invoke vcpkg and Conan with process targets, but integration with those isn't really planned. The main issue is getting the toolchain info to the package managers and ensuring they work with the build. vcpkg is probably the most likely of the two to get integrated.

Questions like this should go in discussions though.

rewrking avatar Jun 10 '22 14:06 rewrking