Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

CMAKE питанки
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=19220
Страница 1 от 2

Автор:  TheWizard [ Чет Юли 04, 2024 1:34 pm ]
Заглавие:  CMAKE питанки

някой случайно да разбира cmake на "ниско" ( вътрешно ) ниво? ... опитвам се да го "пренапиша" частично на Python
( идеята е: трябва ми "колекцията" от променливи дето я събира... за мултиплатформен инструмент )
( няма реализирани CMAKE интерпретатори на Python )

CMAKE ( inside ) има "база данни" KEY:VALUE
за нормални променливи ( ${VAR} ), ENV ( $ENV{VAR} ) & CACHE променливи... туй добре

обаче има едни "properties" дето не знам ко става ( хем гледам сорса и нищо не вдявам )
като примери: TARGET или add_нещо_си( като файл, папка ... ) ииии къде и как го записва

Автор:  palavrov [ Чет Юли 04, 2024 2:38 pm ]
Заглавие:  Re: CMAKE питанки

Дълбока вода си нагазил ... cmake си е сам за себе си и е предвиден да ползва външни make системи - ако не бъркам трябва да има поддръжка на любимия ти scons - т.е. може да не го емулираш ами да го накараш да ти изплюе един scons file в който е описано какво и как да се компилира ... е ако искаш нещо по засукано ще трябва да газиш на дълбокото

Edit: тц, не може .. заблудил съм се ... ще се наложи по трудния начин да се оправяш - за съжаление нямам опит с cmake и не мога да съм полезен - аз самия го ползвам от скоро покрай Zephyr и засега не ми се е налагало да задълбавам кой знае колко

Автор:  TheWizard [ Чет Юли 04, 2024 3:28 pm ]
Заглавие:  Re: CMAKE питанки

истинската идея е че "много" SDK са изградени на база cmake/make
кат пример: pico, esp, zephyr ... nuttx(make) ... и повечето са в процес на update ( от git )
при нова версия - клик clone и без да редактирам SDK - compile... като за IDE, клик клик - пей сърце

make/cmake, просто колекционират разни джаджи за компилатора и нищо повече
НО ! мързеливо използват специфични шел команди на хоста
а scons, използва цялатa "мощност" на Python за "колекция" на файлове и флагове, тъй че специфика не му трябва
и реално става мултиплатформена билд система
( като скорост да се забави няколко секунди, но реалната скорост си е на компилатора и PC-то )

Автор:  TheWizard [ Чет Юли 04, 2024 3:36 pm ]
Заглавие:  Re: CMAKE питанки

визуално се случва това
https://www.youtube.com/watch?v=esO7zpXCDjs
в примера интерпретирам makefile скриптовете за колекцията от src файлове и компилаторни флагове
a scons просто завършва операцията: gcc ....

PS: видеото е правено на 15 годишен "лампов" AMD

Автор:  palavrov [ Чет Юли 04, 2024 5:22 pm ]
Заглавие:  Re: CMAKE питанки

Накрая всички завършват с gcc ... просто с годините човек свиква с нещо и всичко друго му се струва неприемливо, сложно, излишно ... аз гледам да не завися от конкретен продукт защото с всеки клиент се налага да е нещо различно. Като, че ли makefile е най лесно за преглъщане защото се поддържа навсякъде и колкото и да е дървено ако си си подредил нещата си работи и е предвидимо, няма изненади. Ама ти все успяваш да вървиш срещу течението, така че няма какво да те убеждава човек ...

Автор:  TheWizard [ Чет Юли 04, 2024 6:40 pm ]
Заглавие:  Re: CMAKE питанки

аз не вървя срещу течението

за IDE използвам VSCode / PlatformIO ... което свежда билда до Питон логика
чисто VSCode e яко писане ... или JS ... та дали JS или Питон е се таа
реално мога да викна директно make.exe all
НО някой SDK са направени само и единствено за Linux host ( специфични шел команди )

просто искам след git clone SDK ( last version или ) да не редактирам нищо по него
емулирам makefiles ... събирам променливите и пренастройвам тези на scons, които са същите, но с различни имена

Автор:  palavrov [ Чет Юли 04, 2024 10:18 pm ]
Заглавие:  Re: CMAKE питанки

VSCode поддържа всичко т.е. би трябвало да не е проблем да направиш един плъгин който да вика каквото трябва - make, cmake, qmake, scons, west, repo ... не разбирам какво толкова ще спечелиш ако транслираш всичко от едно в друго? Единствения яд, че трябва да инсталираш разни пакети за да мине всичко гладко ... май проблема ти идва, че не работиш в *nix среда (linux, mac) ами си на боза където нещата винаги са сложни, нестабилни и лесно се чупят. Мини един път на линукс и няма да имаш грижи.

Автор:  TheWizard [ Чет Юли 04, 2024 10:56 pm ]
Заглавие:  Re: CMAKE питанки

по принцип оригиналните SDK за *никс си работят... с тва проб няма

make/cmake интерпретаторите за сега са само експеримент...
ще се върна на make да го довърша, cmake за сега го заебавам докато разбера как се колекционират таргетите иначе в основата и двата работят

Автор:  TheWizard [ Съб Юли 06, 2024 5:42 pm ]
Заглавие:  Re: CMAKE питанки

BTW: SCons не ми е любим, той имитира makefile, НО с цалата логическа мощност на Python ( тук е заровено съкровището )
нямам любима Build System ... освен да седна и да я напиша

Makefile - 1976; 48 years ago
CMake - 2000; 24 years ago

ако вземем факта, че Python ( и / или JS ) е мултиплатформен, има мощност да тренира AI... и тн.
то, горните две се обезсмислят като съществуване...
( не казвам, че не работят )

Автор:  palavrov [ Съб Юли 06, 2024 10:56 pm ]
Заглавие:  Re: CMAKE питанки

Абе то така ама пък все още се ползват кажи речи навсякъде. Значи има някаква друга причина освен, че са стари и недодялани. Тези дърти тулчета понякога са много жилави и не мрат и е адски трудно да ги заместиш просто защото хората си ги искат.

Автор:  palavrov [ Нед Юли 07, 2024 7:21 am ]
Заглавие:  Re: CMAKE питанки

Току що прочетох за интересен принцип свързан с това за което говорим:

Цитат:
Lindy Effect ~ The future life expectancy of some non-perishable things, like a technology or an idea, is proportional to their current age.


Те от тук е - https://www.learningbyproxy.com/p/unchanging-design - индиеца от време на време пише интересни статии.

Автор:  TheWizard [ Нед Юли 07, 2024 12:40 pm ]
Заглавие:  Re: CMAKE питанки

честно казано не знам защо са се наложили ... най-вероятно:
1. нямало е лесно ( мързеливо ) решение ... тогава
2. малко девелопъри се интересува как стават нещата и поради това няма развитие ( на Build Systems )

:) cmake е ... просто ужасен ... за 21 век ... някакво изчадие на embedded мисълта
само в main CMakeList на Зефир, "змията" се използва само 24 пъти
и без нея: хОй... ( не ми се броят Python файловете )
и за чий хОй пишеш cmake скрипт, който ще генерира makefile, който ще стартира Python за да викне GCC

Автор:  palavrov [ Нед Юли 07, 2024 6:54 pm ]
Заглавие:  Re: CMAKE питанки

В Зефиря е пълно безумие ама то това не е заради цмейка ами заради колегите програмист които са забъркали една манджа с грозде. По принцип цмейка няма допирни точки с питоня. Пък ако им видиш предишния билд от версия 1.х който не бе;е цмейк ами чист мейк съвсем ще ти се изправи косата. росто някои хора излишно усложняват всичко до което се докоснат и като няма кой да им дръпне юздите става страшно. Но самите мейк и цмейк са си доста прости и описват от една страна зависимости между резултат и сорс файлове и командите с които да ги получиш. Ама като се злоупотреби с тях и се вкарат сложни функции, външни скриптове и т.н. пиши го бегало ...

Автор:  TheWizard [ Вто Юли 09, 2024 6:07 pm ]
Заглавие:  Re: CMAKE питанки

бая хОй е за чисто нова ( user friendly, C/C++ ) Build System
не че е невъзможна - много писане...
и иска много правилно структуриране на "базата данни" - файлове, флагове, rules...

Автор:  palavrov [ Сря Юли 10, 2024 6:40 pm ]
Заглавие:  Re: CMAKE питанки

https://github.com/apenwarr/redo

Виж това. Също е на питон. Преди време ми беше харесало ама реших да не задълбавам но на теб може да ти хареса - помня, че беше доста изчистено като концепция.

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/