Ahojte podledných pár mesiacov sa dosť intenzívne venujem C++. Programujem si aplikácie pre Linux / Windows, ale aj firmware pre microcontrollery (ESP32, Arduino, STM32). C++ ako jazyk ma baví, čo sa ale nedá povedať o procese buildovania.
Knižnice tretích strán, som doteraz do projektu pridával cez rôzne package managery, napr. pio package manager, ktorý je súčasťou IDE PlatformIO (niečo podobné ako Cargo z Rustu alebo NPM z JS). O žiadne build tooly som sa doteraz nestaral. Akurát na CDNkách platformio boli neaktuálne balíčky, občas boli problémy s verziami toolchainov a knižníc, atď. Takže som si založil čistý ESP IDF projekt a úplne som sa vy... na celý package manager a idem na to štandartným spôsobom. Libky si do projektu pridávam ako idf komponenty. Konečne mi všetko funguje s aktuálnymi verziami toolchainov a konečne môžem používať nové GCC (s podporou C++20). No čo mi robí vrásky na čele, je že sa tam používajú build tooly ako CMake, ktoré generuje skripty pre Ninja a tým ja vôbec nerozumiem. Keď vidím otvorený CMake súbor, mám pocit,že čitám hieroglify. Metódou pokus omyl a študovaním iných CMake fajlov sa mi zatiaľ všetko podarilo nakonfigurovať, ale zabilo mi to hodne veľa času. Teraz by som potreboval vyriešiť komplexnejší problém, so zdielaním závislostí medzi komponentami a už pár hodín s tým bojujem.
Neviem či sa mám naozaj začať od základu naučiť CMake (moc sa mi do toho nechce, ale v C++ ekosystéme je to nepísaný štandard), alebo použiť nejký klikací tool, ktorý by mi vygeneroval to čo potrebujem. Viete mi nejaký tool poradiť? Prípadne nejakú knihu, kurz, alebo tutorial k CMake? Diky.