Попросите Visual Studio проверить файл-контрольную сумму вместо метки времени, чтобы определить, какой файл необходимо перестроить

В настоящее время я управляю огромным С++ pullrequest, который я (git) регулярно обновляю на исходном сервере, чтобы поддерживать его в актуальном состоянии.

Однако Visual Studio, похоже, перестраивает все источники после переустановки, потому что временная метка большинства файлов изменилась, но содержимое большинства файлов оставалось неизменным (CMake используется как система сборки).

Есть ли способ сообщить компилятору Visual Studio проверить, осталось ли содержимое файла (с помощью контрольных сумм) вместо использования последней отметки времени, записанной в файл, чтобы предотвратить ее восстановление моего огромного решения?

Ответ 1

Обходным решением было бы написать программное обеспечение script/small и включить его в действия предварительной сборки, которые проверяют файлы до и после исходного кода, и если содержимое не изменилось (через контрольную сумму), тогда это изменяет дату создания файла после источника, чтобы соответствовать уже скомпилированному объекту.

Или, что еще лучше, script может нести ответственность за копирование исходного файла, и он даже не копирует исходный файл, если его содержимое совпадает со старым исходным кодом.

Я не думаю, что VS Builder имеет такой собственный вариант.