Is it possible to search for headers recursively in a specific directory?

That is exactly the problem, I do not want to change the whole includes to use arduino/WString.h, and I do not want to expose the whole Arduino.h in my files. Therefore I went with the last solution (to add the folder of WString.h to my build_flags).

The only problem I have with the following is that I was not able to pass a relative path to the compiler. For example:

build_flags = 
	-Ilib/custom_arduino_fakes/

When checking the verbose output of the compilation, I see that it is always translated into the following:

-IC:\Users\ME\.platformio\platforms\native\builder\lib\custom_arduino_fakes\

Which is of course not the path of my project.

Only passing the absolute full path gets translated to the correct relative path, so this:

build_flags = 
	-IC:/Users/ME/Development/PROJ/Firmware/lib/custom_arduino_fakes/

gets translated into this:

-Ilib/custom_arduino_fakes/

Trying to access the default variables did not work because they were always empty here in this context for some reason I do not know.

Do you have any suggestion to be able to use a relative path inside my project here without needing to pass the whole absolute path?