dcbaker / meson-plus-plus

An experimental and incomplete implementation of Meson in C++, for solving Meson's bootstrapping issue.
Apache License 2.0
45 stars 7 forks source link

Add support for find_program #70

Closed dcbaker closed 2 years ago

dcbaker commented 2 years ago

This adds the found() method as well, and the assert() function. None of this is too useful on it's own yet, since we don't have any targets that consume them, but it's a first step towards custom_target, and it gives me a chance to put my idea for the biggest win that meson++'s architecture offers, threading.

The basic idea is this: reduce the IR as much as possible, then run the threaded jobs (find_program, run_target?, dependency(), and many of the compiler methods), then return to the main loop. Because we have an IR, with a bit of carefulness we can do all of that in threads, making the tests very, very fast.

Fixes #24