Мы имеем большой проект (на С++), часть кода которого надо опубликовать.
Эта часть, назовём её "конечный проект", использует много-много библиотек, публиковать которые не надо. А надо только предоставить к ним интерфейсы для компиляции.
Поэтому мы поставили перед собой такие задачи
(задачи должны выполняться регулярно, например 1 раз в квартал)
1. Определить все библиотеки, которые используются нашим конечным проектом в рамках большого проекта. Для всех используемых библиотек надо определить классы и функции, которы мы импортируем.
На основе этой информации мы могли бы
— уменьшить объём внешних библиотек, например , отказавшись от какого-то кода.
— получить первичную информацию о том, какие классы мы импортируем из библиотек для конечного проекта.
2. Выделить (ИЛИ СГЕНЕРИРОВАть) множество классов и их хидеров библиотечных интерфейсов, которые позволили бы скомпилировать конечный проект, оставив непубликуемые модули за кадром.
Ввиду регулярности выполнения поставленной задачи напрашивается её любая автоматизация.
Сталкивался ли кто-либо с подобными задачами? Может ли помочь идеологическим советом или ссылкой на продукт(ы)?