Currently this script will only check if a library is installed and then skip building it if it is. No version check is done. Even if in the cases where it would build a library which is already installed because of a bug, it won't overwrite what's already installed with copying the newly build version, it will fail instead.
I think we should, however, give users the option to at least rebuild their libraries, preferably even update, without making them delete the installed libraries by hand. I see the following ways we could accomplish this (although there may be more):
Implement a full update system with version checking. This could be difficult. Perhaps there is a way to check a library's version, then we could store which version we have installation script and make a function to do a comparison.
Add a rebuild option which rebuilds and reinstall all libraries. This is a bit easier, but can cause problems if some include files were renamed in the new library version.
For both options, I think all copy actions in the build scripts should be made to overwrite the already installed files instead of showing an error. We could also make the depends scripts a bit smarter, so we can do a guaranteed full delete, but that would be significantly more work.
Currently this script will only check if a library is installed and then skip building it if it is. No version check is done. Even if in the cases where it would build a library which is already installed because of a bug, it won't overwrite what's already installed with copying the newly build version, it will fail instead.
I think we should, however, give users the option to at least rebuild their libraries, preferably even update, without making them delete the installed libraries by hand. I see the following ways we could accomplish this (although there may be more):
For both options, I think all copy actions in the build scripts should be made to overwrite the already installed files instead of showing an error. We could also make the depends scripts a bit smarter, so we can do a guaranteed full delete, but that would be significantly more work.