У меня есть структура проекта следующим образом. A.dll зависит от B.exe, B.exe зависит от настраиваемой цели C. Настраиваемая цель C создает некоторые файлы, которые B.exe упаковывает в архив в качестве шага после сборки на цели B.
При первой сборке A.dll, так как это первая сборка B.exe, а на этапе после сборки создается myArchieve.a. С этого момента, если я соберу A.dll, B.exe не будет перестроен, так как это исполняемый файл, и он существует из-за предыдущей сборки. Проблемы из-за этого:
1. У меня всегда есть устаревший исполняемый файл
2. Если я внесу некоторые изменения в C и запущу сборку A.dll, cmake просто перестроит C и A. Он не перестроит B.exe и в результате пропустит шаг архивирования, и мой архив никогда не обновится.
Есть ли решение этой проблемы? Я уже прочитал эту ссылку и мало чем помогает.