msvc: Only update generated headers when there are changes

This fixes generating the headers causing complete rebuilds,
even when the headere's content didn't really change.