Ошибка записи файла журнала при использовании Cmake, Ninja, PREFast с MSVC
Включение
/analyze
флаг для запуска сборок PREFast для Windows с использованием MSVC недетерминированно выдает следующую ошибку. Я думаю, это связано с тем, что ниндзя пытается оптимизировать сборки, одновременно компилируя файлы из одной и той же цели, но, поскольку каждая цель ведет журнал в один файл, MSVC не может редактировать файл, пока другой процесс записывает в тот же файл журнала, потому что файл другой процесс компиляции принадлежит той же цели.
fatal error C1258: Failed to save XML Log file '<path to log file>.xml'. The process cannot access the file because it is being used by another process.
- Могу ли я писать в разные файлы для каждой цели?
- Могу ли я сделать MSVC умнее и заставить его пытаться писать, не обращая внимания на другой процесс?
- Я не хочу устанавливать для параллельных заданий значение 1, есть ли у меня другие варианты?