| Автор |
Съобщение |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 CMAKE питанки
някой случайно да разбира cmake на "ниско" ( вътрешно ) ниво? ... опитвам се да го "пренапиша" частично на Python ( идеята е: трябва ми "колекцията" от променливи дето я събира... за мултиплатформен инструмент ) ( няма реализирани CMAKE интерпретатори на Python )
CMAKE ( inside ) има "база данни" KEY:VALUE за нормални променливи ( ${VAR} ), ENV ( $ENV{VAR} ) & CACHE променливи... туй добре
обаче има едни "properties" дето не знам ко става ( хем гледам сорса и нищо не вдявам ) като примери: TARGET или add_нещо_си( като файл, папка ... ) ииии къде и как го записва
_________________ main[-1u]={1};
|
| Чет Юли 04, 2024 1:34 pm |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: CMAKE питанки
Дълбока вода си нагазил ... cmake си е сам за себе си и е предвиден да ползва външни make системи - ако не бъркам трябва да има поддръжка на любимия ти scons - т.е. може да не го емулираш ами да го накараш да ти изплюе един scons file в който е описано какво и как да се компилира ... е ако искаш нещо по засукано ще трябва да газиш на дълбокото
Edit: тц, не може .. заблудил съм се ... ще се наложи по трудния начин да се оправяш - за съжаление нямам опит с cmake и не мога да съм полезен - аз самия го ползвам от скоро покрай Zephyr и засега не ми се е налагало да задълбавам кой знае колко
_________________ Мразя да мразя ...
|
| Чет Юли 04, 2024 2:38 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: CMAKE питанки
истинската идея е че "много" SDK са изградени на база cmake/make кат пример: pico, esp, zephyr ... nuttx(make) ... и повечето са в процес на update ( от git ) при нова версия - клик clone и без да редактирам SDK - compile... като за IDE, клик клик - пей сърце
make/cmake, просто колекционират разни джаджи за компилатора и нищо повече НО ! мързеливо използват специфични шел команди на хоста а scons, използва цялатa "мощност" на Python за "колекция" на файлове и флагове, тъй че специфика не му трябва и реално става мултиплатформена билд система ( като скорост да се забави няколко секунди, но реалната скорост си е на компилатора и PC-то )
_________________ main[-1u]={1};
|
| Чет Юли 04, 2024 3:28 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: CMAKE питанки
визуално се случва това https://www.youtube.com/watch?v=esO7zpXCDjsв примера интерпретирам makefile скриптовете за колекцията от src файлове и компилаторни флагове a scons просто завършва операцията: gcc .... PS: видеото е правено на 15 годишен "лампов" AMD
_________________ main[-1u]={1};
|
| Чет Юли 04, 2024 3:36 pm |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: CMAKE питанки
Накрая всички завършват с gcc ... просто с годините човек свиква с нещо и всичко друго му се струва неприемливо, сложно, излишно ... аз гледам да не завися от конкретен продукт защото с всеки клиент се налага да е нещо различно. Като, че ли makefile е най лесно за преглъщане защото се поддържа навсякъде и колкото и да е дървено ако си си подредил нещата си работи и е предвидимо, няма изненади. Ама ти все успяваш да вървиш срещу течението, така че няма какво да те убеждава човек ...
_________________ Мразя да мразя ...
|
| Чет Юли 04, 2024 5:22 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: CMAKE питанки
аз не вървя срещу течението
за IDE използвам VSCode / PlatformIO ... което свежда билда до Питон логика чисто VSCode e яко писане ... или JS ... та дали JS или Питон е се таа реално мога да викна директно make.exe all НО някой SDK са направени само и единствено за Linux host ( специфични шел команди )
просто искам след git clone SDK ( last version или ) да не редактирам нищо по него емулирам makefiles ... събирам променливите и пренастройвам тези на scons, които са същите, но с различни имена
_________________ main[-1u]={1};
|
| Чет Юли 04, 2024 6:40 pm |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: CMAKE питанки
VSCode поддържа всичко т.е. би трябвало да не е проблем да направиш един плъгин който да вика каквото трябва - make, cmake, qmake, scons, west, repo ... не разбирам какво толкова ще спечелиш ако транслираш всичко от едно в друго? Единствения яд, че трябва да инсталираш разни пакети за да мине всичко гладко ... май проблема ти идва, че не работиш в *nix среда (linux, mac) ами си на боза където нещата винаги са сложни, нестабилни и лесно се чупят. Мини един път на линукс и няма да имаш грижи.
_________________ Мразя да мразя ...
|
| Чет Юли 04, 2024 10:18 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: CMAKE питанки
по принцип оригиналните SDK за *никс си работят... с тва проб няма
make/cmake интерпретаторите за сега са само експеримент... ще се върна на make да го довърша, cmake за сега го заебавам докато разбера как се колекционират таргетите иначе в основата и двата работят
_________________ main[-1u]={1};
|
| Чет Юли 04, 2024 10:56 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: CMAKE питанки
BTW: SCons не ми е любим, той имитира makefile, НО с цалата логическа мощност на Python ( тук е заровено съкровището ) нямам любима Build System ... освен да седна и да я напиша
Makefile - 1976; 48 years ago CMake - 2000; 24 years ago
ако вземем факта, че Python ( и / или JS ) е мултиплатформен, има мощност да тренира AI... и тн. то, горните две се обезсмислят като съществуване... ( не казвам, че не работят )
_________________ main[-1u]={1};
|
| Съб Юли 06, 2024 5:42 pm |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: CMAKE питанки
Абе то така ама пък все още се ползват кажи речи навсякъде. Значи има някаква друга причина освен, че са стари и недодялани. Тези дърти тулчета понякога са много жилави и не мрат и е адски трудно да ги заместиш просто защото хората си ги искат.
_________________ Мразя да мразя ...
|
| Съб Юли 06, 2024 10:56 pm |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: CMAKE питанки
Току що прочетох за интересен принцип свързан с това за което говорим: Те от тук е - https://www.learningbyproxy.com/p/unchanging-design - индиеца от време на време пише интересни статии.
_________________ Мразя да мразя ...
|
| Нед Юли 07, 2024 7:21 am |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: CMAKE питанки
честно казано не знам защо са се наложили ... най-вероятно: 1. нямало е лесно ( мързеливо ) решение ... тогава 2. малко девелопъри се интересува как стават нещата и поради това няма развитие ( на Build Systems )  cmake е ... просто ужасен ... за 21 век ... някакво изчадие на embedded мисълта само в main CMakeList на Зефир, "змията" се използва само 24 пъти и без нея: хОй... ( не ми се броят Python файловете ) и за чий хОй пишеш cmake скрипт, който ще генерира makefile, който ще стартира Python за да викне GCC
_________________ main[-1u]={1};
|
| Нед Юли 07, 2024 12:40 pm |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: CMAKE питанки
В Зефиря е пълно безумие ама то това не е заради цмейка ами заради колегите програмист които са забъркали една манджа с грозде. По принцип цмейка няма допирни точки с питоня. Пък ако им видиш предишния билд от версия 1.х който не бе;е цмейк ами чист мейк съвсем ще ти се изправи косата. росто някои хора излишно усложняват всичко до което се докоснат и като няма кой да им дръпне юздите става страшно. Но самите мейк и цмейк са си доста прости и описват от една страна зависимости между резултат и сорс файлове и командите с които да ги получиш. Ама като се злоупотреби с тях и се вкарат сложни функции, външни скриптове и т.н. пиши го бегало ...
_________________ Мразя да мразя ...
|
| Нед Юли 07, 2024 6:54 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: CMAKE питанки
бая хОй е за чисто нова ( user friendly, C/C++ ) Build System не че е невъзможна - много писане... и иска много правилно структуриране на "базата данни" - файлове, флагове, rules...
_________________ main[-1u]={1};
|
| Вто Юли 09, 2024 6:07 pm |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: CMAKE питанки
https://github.com/apenwarr/redoВиж това. Също е на питон. Преди време ми беше харесало ама реших да не задълбавам но на теб може да ти хареса - помня, че беше доста изчистено като концепция.
_________________ Мразя да мразя ...
|
| Сря Юли 10, 2024 6:40 pm |
|
|