Russian Qt Forum
Ноябрь 22, 2024, 09:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как определить список модулей при статической сборке Qt  (Прочитано 3294 раз)
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 197


Просмотр профиля
« : Декабрь 01, 2021, 00:07 »

Доброй ночи.
Я статически собираю Qt 5 из исходников с помощью GCC. Сначала я удовлетворился ключом
Код:
-skip webengine
в configure. Но потом возникло желание скипнуть что-нибудь ещё, чтобы получить как можно более компактную сборку.
Можно ли как-то получить список модулей, с которыми сделана текущая сборка, чтобы 1) пополнять список запрещаемых модулей осознанно, а не наугад? 2) проверить правильность заданных мной ключей? Очень уж небыстрое это дело, действовать методом Ивана Петровича Тыка накладно получается...

P.S. На Ryzen 2600 с 64 Гб оперативки, Samsung 970 EVO Plus и Manjaro KDE Qt без вебенжина собралась аж за 23 минуты! Прогресс налицо, я помню на более слабеньком железе сборка больше 2 часов шла...
« Последнее редактирование: Декабрь 01, 2021, 00:26 от DarkHobbit » Записан

Мои проекты на Qt: DoubleContact, LInvert
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #1 : Декабрь 01, 2021, 00:42 »

Ну так кто, кроме вас знает, что именно вам нужно? Можно ключи спросить у самого configure и собирать то, что нужно. Ну ещё ccache подключить, если вы на линуксе. Всякие объектные и временные файлы размещать в памяти. Многопоточность включить...
Записан

DarkHobbit
Самовар
**
Offline Offline

Сообщений: 197


Просмотр профиля
« Ответ #2 : Декабрь 01, 2021, 07:14 »

Ну так кто, кроме вас знает, что именно вам нужно?
Состав модулей, которые мне нужны, я разумеется, определю сам. И если бы они определялись по принципу "включается то, что указано явно", вопроса бы не было. Но там действует обратный принцип. Я должен написать, что мне НЕ нужно.
Так вот, список кандидатов на "ненужно" хотелось бы иметь перед глазами.

Цитировать
Можно ключи спросить у самого configure и собирать то, что нужно.
Ну вот спросил я, он пишет:
Цитировать
-skip <repo>                   Exclude an entire repository from the build.
Где бы взять список этих repo, которые по умолчанию включены? Идти на страничку кутешного гита идти и просеивать список оттуда?

Цитировать
Ну ещё ccache подключить, если вы на линуксе. Всякие объектные и временные файлы размещать в памяти. Многопоточность включить...
Можно. Но скорость компиляции меня в целом устраивает, хотелось бы сфокусироваться на получаемом продукте.
Записан

Мои проекты на Qt: DoubleContact, LInvert
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Декабрь 01, 2021, 10:35 »

отдельная папка модуля на верхнем уровне исходников — это и есть «repo».

можно начать с самого минимума — core, GUI (по-моему первые два входят в qtbase), widgets, network, ну еще что-то свое добавить (т.е. skip все остальное).

может вот такой пример поможет: https://github.com/kambala-decapitator/Qt5.10-iOS9
« Последнее редактирование: Декабрь 01, 2021, 10:37 от kambala » Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 197


Просмотр профиля
« Ответ #4 : Декабрь 01, 2021, 17:51 »

отдельная папка модуля на верхнем уровне исходников — это и есть «repo».
Да, подозрение такое мелькало, спасибо.
Цитировать
может вот такой пример поможет: https://github.com/kambala-decapitator/Qt5.10-iOS9
Код:
-skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtgamepad -skip qtlocation -skip qtmultimedia -skip qtnetworkauth
-skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qttranslations -skip qtvirtualkeyboard -skip qtwayland
-skip qtwebchannel -skip qtwebengine -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip qtx11extras -skip qtxmlpatterns
О! Уже кое-что, буду отсюда невозбранно выдирать отдельные куски... Что-то из этого списка мне, правда, скорее всего, как раз понадобится. Улыбающийся
Спасибо.
Записан

Мои проекты на Qt: DoubleContact, LInvert
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.158 секунд. Запросов: 23.