Jak dodać analizę statyczną w CMake?
|

Jak dodać analizę statyczną w CMake?

Języki takie jak C i C++ zakładają, że programista wie co robi i pozwalają mu na wiele. Są bardzo konserwatywne w zgłaszaniu błędów i warningów. Nieraz obraca się to przeciwko programiście, dlatego sami aktywujemy dodatkowe flagi warningów podczas kompilacji i używamy różnych narzędzi do analizy kodu. Ale do narzędzi takich jak cppcheck czy clang-tidy musimy…

Generowanie headerów ze stałymi w CMake
|

Generowanie headerów ze stałymi w CMake

W prawie każdym projekcie potrzebujemy przechowywać jakieś wartości, które zmieniamy w zależności od wersji projektu. Najbardziej oczywistym przykładem jest właśnie numer wersji. Ale czasem chcemy wyświetlać również commit id z gita, datę kompilacji, czy użytą wersję kompilatora. Nie muszę chyba dodawać, że aktualizacja takich danych ręcznie jest niezwykle uciążliwa, a czasem wręcz niemożliwa (jak dodać…

Jak napisać skrypt cmake?
|

Jak napisać skrypt cmake?

W tym artykule pokażę jak napisać prosty skrypt cmake. Zrealizujemy najważniejsze zadania, jakich wymagamy od skryptu budowania: Dodawanie plików źródłowych. Określenie ścieżek include. Określenie globalnych define’ów. Dodanie bibliotek statycznych. Dodanie flag kompilacji. Dzięki skryptowi CMake możemy łatwo uruchamiać kompilację na różnych systemach operacyjnych, systemach budowania i generować projekty na różne IDE.

Jak skonfigurować cmake na mikrokontrolery?
|

Jak skonfigurować cmake na mikrokontrolery?

Cmake jest fajną alternatywą dla pisania własnych skryptów makefile, czy korzystania z wyklikanej konfiguracji projektu w naszym IDE. Jednak początkowo może być trudno zmusić go do działania z mikrokontrolerami. Dlatego w tym artykule pokażę jak stworzyć plik konfiguracyjny dla naszego toolchaina umożliwiający budowanie projektów na STM32.

Code review – prosty sposób na poprawienie jakości kodu
||

Code review – prosty sposób na poprawienie jakości kodu

O code review napisano już całkiem sporo. W internecie można znaleźć dokładne opisy jak powinny wyglądać, jakie dają efekty, czy ile kodu sprawdzać na raz. Dlatego nie będę dokładnie analizować tych aspektów. Zamiast tego krótko opiszę najważniejsze korzyści i kilka przydatnych technik na podstawie własnych doświadczeń. Z code review korzystałem już w wielu projektach i…

Przydatne toole do pracy z systemami embedded
|

Przydatne toole do pracy z systemami embedded

Dobry zestaw narzędzi może niesamowicie poprawić naszą produktywność. Należę do osób lubiących automatyzację i wspomaganie się toolami przy developmencie. Szczególnie zrzucanie na toole żmudnych i ciężkich do wyegzekwowania czynności jak na przykład formatowanie kodu, czy wysyłanie komend na terminalu.  W tym wpisie przedstawię kilka przydatnych narzędzi, głównie pod kątem embedded, C/C++ i STM32.

Skrypty buildowania to też kod, piszmy go zgodnie ze sztuką
|

Skrypty buildowania to też kod, piszmy go zgodnie ze sztuką

Wielu programistów boi się tykać skryptów buildowania. Uważa to za czarną magię. Nic dziwnego, zwykle są napisane tak, żeby przypadkiem nie dało się ich zrozumieć. Bardzo często cały skrypt jest napisany w jednym ogromnym pliku, gdzie duże fragmenty są stworzone za pomocą kopiuj – wklej – edytuj. Składnia języków do pisania takich skryptów np. make …

||

Git i znaki końca linii

Ostatnio w pracy miałem pewien problem dotyczący znaków końca linii w Gicie. Skłoniło mnie to do poszukiwań w internecie, a zdobyte informacje postanowiłem zebrać w tym poście, żeby zostały na przyszłość. Znaki końca linii na różnych systemach operacyjnych Istnieją dwie konwencje dodawania znaków końca linii w plikach tekstowych.  Wywodzą się one z dwóch głównych systemów…

Konfiguracja Travis-CI na STM32
||

Konfiguracja Travis-CI na STM32

W ten weekend w końcu stanąłem do potyczki z konfiguracją Travis-CI. Długo to odkładałem, bo wiedziałem, że będą problemy. Chcę skonfigurować build system w dosyć niestandardowy sposób i nie mogę za bardzo skorzystać z wbudowanych w Travisa ułatwień. Zamiast tego muszę posiłkować się bashowymi skryptami. W wykonaniu zadania pomagają mi skrypty Freddie Chopina (link1, link2), któremu…

End of content

End of content