This can be split into multiple issues if necessary.
The tasks.json suffers from a few of the following inconveniences:
Also related to this, I believe we can leverage the 'Multi-root Workspaces' feature of VS Code to manage this whole repository, but that is outside of the scope of this issue.
complete rebuild
The default "build_all" and "build_all_debug" tasks also rebuild the entire library (and do so from scratch).
I think it's convenient to build the libraries, but doing make clean on them first is a bit overkill. We should remove the make clean from those tasks, and add tasks for "rebuilding" with make clean that can be used if/when they're needed.
debug/launch task
The debug task only sets the DEBUG flag for the user project. This should probably also enable debugging (or we should have an easier method of choosing) within the library itself.
Currently you have to open the libdaisy/Makefile and set DEBUG=1.
Again, there are times where a user might want to have these values set differently, but I think the vast majority would want all involved projects to be debuggable, when debugging.
This can be split into multiple issues if necessary.
The tasks.json suffers from a few of the following inconveniences:
Also related to this, I believe we can leverage the 'Multi-root Workspaces' feature of VS Code to manage this whole repository, but that is outside of the scope of this issue.
complete rebuild
The default "build_all" and "build_all_debug" tasks also rebuild the entire library (and do so from scratch).
I think it's convenient to build the libraries, but doing
make clean
on them first is a bit overkill. We should remove themake clean
from those tasks, and add tasks for "rebuilding" with make clean that can be used if/when they're needed.debug/launch task
The debug task only sets the DEBUG flag for the user project. This should probably also enable debugging (or we should have an easier method of choosing) within the library itself.
Currently you have to open the libdaisy/Makefile and set
DEBUG=1
.Again, there are times where a user might want to have these values set differently, but I think the vast majority would want all involved projects to be debuggable, when debugging.