Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Обновление PremakeProjectManager #1

Open
q4a opened this issue Mar 11, 2020 · 3 comments
Open

Обновление PremakeProjectManager #1

q4a opened this issue Mar 11, 2020 · 3 comments

Comments

@q4a
Copy link

q4a commented Mar 11, 2020

Привет. Немного лень писать на английском, поэтому пишу на русском.

Я бы хотел сделать Qt Creator плагин для работы с Premake 5. Естественно сначала проверил существующие аналоги, нашел твои исходники вот тут:
https://wiki.qt.io/Premake_Project_Manager
Сделал копию на github-е, но там довольно старая версия, которая работает только с Qt Creator 2.5.1 и Premake 4.

Есть несколько вопросов:

  1. Хочу посоветоваться, насколько сложно будет перевести PremakeProjectManager на новые версии Qt Creator и Premake ?
  2. Может быть есть более новые исходники, чем я нашел?
    https://github.com/q4a/qtcreator-premake-plugin
  3. Как думаешь, будет проще вести разработку путем посткпенной эфолюции PremakeProjectManager или будет проще взять существующий плагин для последних версий Qt Creator вроде cmakeprojectmanager/cmakeprojectmanager2 и заменить в нем часть исходников для перехода c CMake на Premake 5?
    https://github.com/h4tr3d/cmakeprojectmanager2
@annulen
Copy link
Owner

annulen commented Mar 11, 2020

Хочу посоветоваться, насколько сложно будет перевести PremakeProjectManager на новые версии Qt Creator и Premake ?

Хрен знает, смотря насколько там поменялись API. Причем Premake'а это касется в не меньшей, а то мб даже и большей степени, чем внутренних API криейтора, так как я использовал там прямые вызовы внутренних функций и мб даже monkey patching (уже не поняю всех деталей). Помню что пытался причесать это дело путем продвижения патчей в апстрим, но в те времена было сложно и долго что-то протолкнуть через starkos'а

Кроме того, в нынешних реалия возможно некоторые вещи стоило бы сделать по-другому - LuaEditor перевсти на LanguageClient (насколько я знаю, существуют полноценные готовые сервера, но может потребовать допилка криейтора для полноценной интеграции), да и взаимодействие с premake наверное лучше было бы сделать через какой-то протокол как у cmake, а не затаскивать Lua в основной рабочий процесс

Может быть есть более новые исходники, чем я нашел?

Неа, я на гиториусе разработку вел. Я не думал, что будет столько проблем при переходе на каждую новую версию, и как-то подзабил, а допилилить до состояния, пригодного для того, чтобы хотя бы что-нибудь заапстримить, у меня не получилось (ну или я тогда так считал)

Как думаешь, будет проще вести разработку путем посткпенной эфолюции PremakeProjectManager или будет проще взять существующий плагин для последних версий Qt Creator вроде cmakeprojectmanager/cmakeprojectmanager2 и заменить в нем часть исходников для перехода c CMake на Premake 5?

Это лучше с разработчиками поговорить, с hunger'ом например. Использовать cmakeprojectmanager в качестве бойлерплейта может быть не лучшей идеей, так как там очень много всего понаверчено, может быть сложно разобраться и не все из этого применимо или может хоть как-то быть переиспользовано. Я уже не помню, что лично я использовал, возможно это был GenericProjectManager - помню что многих вещей не хватало и приходилось отдельно докручивать, смотря как они сделаны для qmake и cmake

@annulen
Copy link
Owner

annulen commented Mar 11, 2020

а не затаскивать Lua в основной рабочий процесс

причем в моем коде, емнип, все еще хуже - Lua в основной гуишной нитке выполняется, что уж совсем не комильфо, так как багнутый premake-проект повесит всю идешку.

@q4a
Copy link
Author

q4a commented Mar 11, 2020

Спасибо, Я тоже думаю, что в cmakeprojectmanager может быть много наворочено, поэтому совсем в нем не уверен. Не знал про genericprojectmanager. Посмотрю сначала его.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants