| Микроконтролери и електроника 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 питанки | |||||||||
Току що прочетох за интересен принцип свързан с това за което говорим:
Те от тук е - https://www.learningbyproxy.com/p/unchanging-design - индиеца от време на време пише интересни статии. |
||||||||||
| Автор: | TheWizard [ Нед Юли 07, 2024 12:40 pm ] |
| Заглавие: | Re: CMAKE питанки |
честно казано не знам защо са се наложили ... най-вероятно: 1. нямало е лесно ( мързеливо ) решение ... тогава 2. малко девелопъри се интересува как стават нещата и поради това няма развитие ( на Build Systems ) само в 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/ |
|