I have a project where
vim are run from different directories. The project structure looks like this:
root/ ├── build │ └── gmake_linux │ ├── bin │ │ └── Debug │ └── obj │ └── Debug : ├── include : ├── source : ├── test :
I use the project root as my working directory for everything, including a custom Makefile. However, the "real" build work is done two levels down in the
build/gmake_linux directory. The heavy-lifting is done by Makefiles generated by
Because of this, messages containing filenames tend to contain a bunch of extra
../.., like so:
==== Building run_tests (debug) ==== make: Leaving directory '/home/aghast/Code/aghast /libaghast/build/gmake_linux' [1646719388.628151980] Running tests... ../../source/bytes.c:72: Unittest failed in unittest_ba_compare_lt ba_compare(ba1, ba2) < 0
So when I invoke something like
:make test, I get bad handling of the resulting files.
Is there some clever way to fix up the source paths so that Vim can process them correctly?