Мне нужен совет по следующему вопросу:
У меня есть проект QT, который в настоящее время настроен для работы с qmake. Однако из-за расширения требований и будущих направлений проекта мне нужно изменить систему сборки, поскольку приложение потребует некоторых изменений в том, как он будет построен.
В настоящий момент каждый исходный файл скомпилирован в довольно большой исполняемый файл, который упаковывается (вручную) и отправляется в область загрузки. Все в порядке.
Но направление, к которому я стремлюсь, - это модульное приложение таким образом, чтобы каждая "функция" была скомпилирована в общую библиотеку, и пользователь (разработчик) сможет выбрать компоненты, которые он хочет скомпилировать. Эти "функции" помещаются в каталоги в исходном дереве (например: query_builder, reverse_engineer, mysql_DB_support, директории version_managemen и т.д.), А когда пользователь создает приложение, он просто сообщает системе сборки компилировать приложение с построителем запросов, и mysql, но без обратной инженерии, и в этом случае система сборки добавляет исходные файлы из указанного каталога и создает из нее lib.
У меня также есть другие требования, такие как:
- windows build, linux build
- возможность сборки пакета (deb, rpm)
- поддержка QT и, возможно, QT5
- несколько исполняемых файлов (клиент GUI, клиент CLI)
После некоторых "маркетинговых исследований" я столкнулся с CMake и SCons как двумя возможными системами, которые я мог бы использовать. У меня есть опыт CMake и некоторый опыт python, но пока нет SCons.
Но я не знаю, какой из них лучше для моего дела, вот где мне нужна ваша помощь. Не могли бы вы уточнить, что я должен использовать? И если вы считаете, что мои требования достижимы с помощью qmake, пожалуйста, сообщите мне об этом,
Cheers, е.