Russian Qt Forum
Ноябрь 21, 2024, 16:22
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt-инструментарий
>
[QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
Страниц:
1
[
2
]
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна (Прочитано 31717 раз)
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #15 :
Май 03, 2019, 15:48 »
Как я понимаю, сейчас идет работа над IAR? Или заглохло?
Хотелось бы понять, что имеет смысл прикручивать далее. Пока я занят мелкими багофиксами, но надо каких-то фич тоже добавить.
1. Поддержка clang на венде в дополнение к clang-cl?
2. Поддержка grpc, благо она один-в-один копипаста протобуф модуля?
3. Допилить генератор для XCode?
4. Ваша фича?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #16 :
Май 05, 2019, 10:03 »
Цитировать
Как я понимаю, сейчас идет работа над IAR? Или заглохло?
Если ты имеешь в виду генератор - то пока заглохло (нет времени).
Цитировать
1. Поддержка clang на венде в дополнение к clang-cl?
А почему нет?
Цитировать
2. Поддержка grpc, благо она один-в-один копипаста протобуф модуля?
Тут я не знаю, лично я никогда это не использовал и впервые слышу.
Цитировать
3. Допилить генератор для XCode?
А оно генерит нативный проект, или так же как и с генератором MSVC - всё через QBS билдится в итоге? Просто я к тому, что, например, пилимый мною генератор для IAR генерит именно нативные проекты (где не нужны всякие QBS-ы потом чтобы работать со сгенеренным проектом). По этому поводу я ранее писал в рассылку с тем, что "как по мне" - то есть смысл генерить только нативные проекты, т.к иначе вообще смысла я в генераторах не вижу (генерить QBS-ом проект, чтобы собирать опять его QBS-ом??? масло-масляное??)
Цитировать
4. Ваша фича?
ХЗ... можно ли запилить что-то подобное как в CMake - ExternalProject (или как оно там называется)? Или нет смысла, т.к это невозможно в принципе?
«
Последнее редактирование: Май 05, 2019, 10:09 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #17 :
Май 05, 2019, 13:35 »
Цитата: kuzulis от Май 05, 2019, 10:03
А оно генерит нативный проект, или так же как и с генератором MSVC - всё через QBS билдится в итоге?
К сожалению (или к счастью), собирает оно через qbs. Я тебе в рассылке отвечал по большому счету на примере Xcode генератора, ибо я туда лазил и пытался доделать. а про msvc генератор не знаю вообще ничего. В целом, ничего плохого в таком подходе нет, кроме того, что можно обломаться когда не получается эмулировать поведение "родной" системы сборки. Гораздо хуже, когда нет возможности объяснить IDE как собрать твой кастомный рул=)
Цитата: kuzulis от Май 05, 2019, 10:03
ХЗ... можно ли запилить что-то подобное как в CMake - ExternalProject (или как оно там называется)? Или нет смысла, т.к это невозможно в принципе?
Кажется, вот это ближайший
тикет
«
Последнее редактирование: Май 05, 2019, 15:07 от Авварон
»
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #18 :
Май 05, 2019, 21:16 »
Цитировать
Гораздо хуже, когда нет возможности объяснить IDE как собрать твой кастомный рул=)
Тут да, если есть такие рулы - то это проблемка для "нативной" генерилки. Но также для некоторых IDE есть бОльшая проблема, состоящая в невозможности интеграции туда "кастомных" правил для запуска каких-то левых тулин, типа QBS (т.е. где IDE прибиты гвоздями). В таком случае, думаю, что эти рулы должны игнорироваться...
И создание проекта в QBS на совести самого разработчика, т.е. если он делает какие-то рулы то он ССЗБ.. Иначе, имхо, я не знаю как это разрулить.
PS: Интересно, а как CMake генерит проекты? Оно же вроде генерит нативные проекты? Например, что сгенерит "cmake -G "Visual Studio 10""? (я просто не в теме)
«
Последнее редактирование: Май 05, 2019, 21:17 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #19 :
Май 05, 2019, 22:16 »
Цитата: kuzulis от Май 05, 2019, 21:16
Тут да, если есть такие рулы - то это проблемка для "нативной" генерилки. Но также для некоторых IDE есть бОльшая проблема, состоящая в невозможности интеграции туда "кастомных" правил для запуска каких-то левых тулин, типа QBS (т.е. где IDE прибиты гвоздями). В таком случае, думаю, что эти рулы должны игнорироваться...
Ты плохо понимаешь, как работает qbs=) Ты не можешь взять и выкинуть рул из графа - без этого рула граф просто не валиден и его зависимости не соберутся.
С учетом того, что даже просто "скомпилить цпп" это жаваскриптовый рул, то ты выкинешь весь граф, кроме входа и выхода (сорцы и бинарь, соответственно)
Но в теории можно попробовать хакнуть ИДЕ подсовывая ей qbs под видом компилятора - то есть Иде говорит "собери файл" а мы запускаем qbs и собираем весь граф для этого файла нужный, говорит "слинкуй бинарь", а мы запускаем qbs. Боюсь только что работать это будет оч медленно.
Цитата: kuzulis от Май 05, 2019, 21:16
И создание проекта в QBS на совести самого разработчика, т.е. если он делает какие-то рулы то он ССЗБ.. Иначе, имхо, я не знаю как это разрулить.
PS: Интересно, а как CMake генерит проекты? Оно же вроде генерит нативные проекты? Например, что сгенерит "cmake -G "Visual Studio 10""? (я просто не в теме)
Симейк генерит "нативные" проекты, да. Тупо "мейкфайл" для каждой поддерживаемой платформы в котором описывает как что собирать.
Но когда я ковырял цмейк (а было это давно), всякие кастомные рулы делались вызовом симейка же который выполнял мой скрипт. Как такой кастомный таргет должен матчится в ИДЕ которая не умеет кастомные правила?)
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #20 :
Май 05, 2019, 22:31 »
Цитировать
Ты не можешь взять и выкинуть рул из графа
Хм, если говорить в части IAR генератора, то я беру из QBS проекта список сорцов/хидеров библиотек, приложений и пр. (т.е. всех продуктов) + парсю флаги компилятора/линкера для каждого продукта, чтобы "заполнить" соответствующие страницы настроек нативного IAR проекта. И в принципе, это все. Никакие кастомные рулы я не парсю, т.к. нет смысла в них..
Цитировать
подсовывая ей qbs под видом компилятора
Ну, в случае IAR такое вроде как невозможно. Т.к. там нет возможности ни выбрать компилятор ни ничего другого...
Цитировать
Тупо "мейкфайл" для каждой поддерживаемой платформы в котором описывает как что собирать.
Хмм.. именно мейкфайл? Для студии (к примеру)? Прикольно...
Записан
ArchLinux x86_64 / Win10 64 bit
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #21 :
Май 05, 2019, 23:03 »
Цитата: kuzulis от Май 05, 2019, 22:31
Хм, если говорить в части IAR генератора, то я беру из QBS проекта список сорцов/хидеров библиотек, приложений и пр. (т.е. всех продуктов) + парсю флаги компилятора/линкера для каждого продукта, чтобы "заполнить" соответствующие страницы настроек нативного IAR проекта. И в принципе, это все. Никакие кастомные рулы я не парсю, т.к. нет смысла в них..
Ну это и щаз возможно - qbs умеет генерить clangdb из которой ты можешь сгенерить файл настроек. Попробуй в эту сторону тогда, в целом, clangdb это такой псевдогенератор которым ничего не собрать, но можно использовать, например, при статическом анализе.
Цитата: kuzulis от Май 05, 2019, 22:31
Ну, в случае IAR такое вроде как невозможно. Т.к. там нет возможности ни выбрать компилятор ни ничего другого...
Подменять PATH мы не умеем? Хотя если там пути прохардкожены то беда, конечно.
Цитата: kuzulis от Май 05, 2019, 22:31
Хмм.. именно мейкфайл? Для студии (к примеру)? Прикольно...
Мейкфайл в кавычках=) Любой файл проекта - это по сути мейкфайл который описывает правила сборки.
Для студии будет солюшн.
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #22 :
Июль 06, 2019, 21:22 »
Я там не задолбал на ревью ещё?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #23 :
Июль 06, 2019, 23:15 »
Не, погодка хреновенькая, мои все спят, а я с пивком сижу, мне хорошо..
))
ЗЫ: Это я наверно задолбал...
))
«
Последнее редактирование: Июль 06, 2019, 23:18 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #24 :
Июль 06, 2019, 23:22 »
Цитата: kuzulis от Июль 06, 2019, 23:15
Не, погодка хреновенькая, мои все спят, а я с пивком сижу, мне хорошо..
))
ЗЫ: Это я наверно задолбал...
))
Нет, у меня всё также - погода не очень, пивко=) Что пьешь?
У меня la chouffe
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #25 :
Июль 07, 2019, 09:54 »
Ой, не, я предпочитаю свеженькие разливухи. Ты там наверное и не знаешь названия. А в принципе пофиг что пить
.
Записан
ArchLinux x86_64 / Win10 64 bit
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #26 :
Июль 07, 2019, 17:16 »
А верно я понимаю, что эта штука сделана по аналогии с clang-db генератором и в итоге игнорит все кастомные рулы?
Типа чтобы полноценно юзать из ИДЕ надо сперва собрать (как и для clang-db)?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #27 :
Июль 07, 2019, 20:11 »
Цитировать
верно я понимаю, что эта штука сделана по аналогии с clang-db генератором и в итоге игнорит все кастомные рулы?
Я не знаю как там и что clang-db генерит. Но iarew генератор генерит готовый
нативный
проект для IAREW IDE.
Естественно, что-то сложное он обломается генерить, т.к. в IAREW IDE вроде нет возможности запихнуть
что-то особенное, как, к примеру в MSVC генераторе (где по сути генерится не нативный проект, а юзается тот-же QBS).
Но тут нет возможности (вроде как) даже засунуть вызовы qbs, да и нет в этом особого смысла,
т.к. мне, как ембеддед программисту нужно иметь
нативный
проект с возможностями выбора при открытии проекта
в IAREW IDE опций компиляции, выбор MCU и прочее.. т.е. идея в том, чтобы сгенерить из QBS и забыть про QBS.
Цитировать
Типа чтобы полноценно юзать из ИДЕ надо сперва собрать (как и для clang-db)?
Эмм... нераспарсил.. Генератор iarew генерит сразу готовый нативный воркспейс с под-проектами (как будто ты
создавал эти проекты сразу из IAREW IDE). т.е. бери его и сразу открывай в IAREW IDE (по аналогии как CubeMX генерит проекты для STM32),
от QBS там в итоге ничего не остается.
«
Последнее редактирование: Июль 07, 2019, 20:13 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #28 :
Июль 07, 2019, 20:17 »
Ну, допустим я генерю плюсовый хедер, в котором находится номер ревизии, кастомным рулом.
Как ИДЕ узнает о его существовании? В случае clang-db никак - надо сперва собрать проект через qbs (и сгенерить все эти хедеры) и только потом можно полноценно юзать clang-db (например, натравить анализатор).
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: [QBS] baremetal: Хочу поддержку IAR, KEIL, SDCC тулчейна
«
Ответ #29 :
Июль 07, 2019, 21:57 »
Цитировать
Ну, допустим я генерю плюсовый хедер, в котором находится номер ревизии, кастомным рулом.
Ну, в таком случае - ССЗБ
. Пока что там такие вот ограничения. Чудес не бывает, надо чем-то жертвовать (по крайней мере на данном этапе)...
Записан
ArchLinux x86_64 / Win10 64 bit
Страниц:
1
[
2
]
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...