The check for build/include_subdir only checks that a subdirectory is present at all; it does not check that it's complete or correct, and it does not allow for top level headers that simply don't have a subdirectory. E.g. if the file structure was
src
|
|-- main.cpp
|
|-- utils.hpp
and we had a main.cpp like
#include "utils.hpp"
int main() {
}
this would raise an error, even though everything is correct.