У меня есть проект, который использует 3-4 различных библиотек C / C ++ с открытым исходным кодом.
Я построил эти библиотеки для нескольких платформ и зарегистрировал в своем проекте включаемые файлы и статические библиотеки для разных платформ.
Однако я борюсь с парой проблем. Все эти проекты связаны с управлением зависимостями. И я ищу советы передового опыта.
1) Как узнать, что именно я использую?
У меня нет способа получить версию статической библиотеки. В результате мне нужно как-то отследить, какую версию статической библиотеки я использую (может быть, SHA коммита, из которого она была построена)?
Это особенно важно, когда мне нужно выяснить, когда обновить эти библиотеки.
2) Как воспроизвести сборку?
Я мог бы попытаться создать какую-то конкретную библиотеку для конкретной платформы. Мне понадобилось время, чтобы понять это.
В следующий раз, когда мне нужно будет собрать ту же библиотеку, может быть через полгода (когда мне нужно будет обновить ее по любой причине. Однако к тому времени я точно не вспомню ничего и среду, на которой она была построена) будет давно ушел
3) Стоит ли разветвлять эти библиотеки, чтобы получить копию исходного кода?
Это меньшее беспокойство. Тем не менее, это все еще проблема. Приятно убедиться, что сборки воспроизводимы (и для этого требуется исходный код).