The issue was target_compile_options(project1 PRIVATE /Zp)
.
I assume intellisense was expecting the next item to be passed to be the argument. As /Zp is the same as /Zp1 I had left it empty. Adding the argument of 1
has made the intellisense errors dissappear.