fbpx ...

CMake – narzędzia programisty

CMake to wieloplatformowe narzędzie, którego zadaniem jest automatyzacja i usprawnienie procesu budowania projektów w różnych środowiskach. Jego popularność oraz uniwersalność sprawiają, że ciężko obecnie wyobrazić sobie pracę bez niego. Nie każdy jednak wie, jak go używać.

CMake w pigułce

CMake jest potężnym narzędziem, które ułatwia proces budowania projektów w językach C i C++. W skrócie, generuje on pliki Makefile lub projekty dla różnych środowisk programistycznych, takie jak Visual Studio czy Eclipse, automatyzując tym samym proces kompilacji i linkowania. Działa na różnych platformach i jest niezwykle użyteczny w zarządzaniu projektami w tych językach.

CMake działa na podstawie pliku konfiguracyjnego o nazwie „CMakeLists.txt”. Ten plik zawiera zasady budowy projektu oraz konfiguracje zależne od systemu operacyjnego i kompilatora. Poniżej kilka podstawowych informacji na temat korzystania z tego narzędzia:

  1. Minimalna Wersja CMake: Początkowo w pliku „CMakeLists.txt” określana jest minimalna wersja CMake, która jest wymagana do prawidłowego zbudowania projektu.
  2. Nazwa Projektu: Następnie określana jest nazwa projektu za pomocą komendy „project”. Możesz użyć zmiennej „PROJECT_NAME” do dostępu do nazwy projektu w pliku.
  3. Tworzenie Binarek: Za pomocą komendy „add_executable” definiujesz binarki, określając ich nazwę i pliki źródłowe, które mają być skompilowane.
  4. Tworzenie Bibliotek: Jeśli potrzebujesz bibliotek, możesz użyć „add_library”. To pozwala na stworzenie bibliotek statycznych, współdzielonych lub modułowych.
  5. Flagi Kompilacji: Aby dodać flagi kompilacji, możesz skorzystać z komendy „target_compile_options”. Możesz również ustawić standard C++ za pomocą „set_target_properties”.
  6. Dodawanie Testów: CMake umożliwia dodanie testów za pomocą „enable_testing” i „add_test”. Dzięki „ctest” możesz łatwo uruchamiać wszystkie testy w projekcie.
  7. Budowanie w Trybie Debug i Release: Możesz skompilować projekt w trybach „debug” i „release” za pomocą przełącznika „-DCMAKE_BUILD_TYPE=Debug”. Posiadanie osobnych katalogów dla tych trybów jest zalecane.
  8. Używanie add_subdirectory: Jeśli tworzysz projekt modułowy, możesz użyć „add_subdirectory” do załączenia innych katalogów z plikami „CMakeLists.txt”.
cmake_minimum_required(VERSION 3.10)

project(
  ModernCMakeExample
  VERSION 1.0
  LANGUAGES CXX)


add_library(MyLibExample simple_lib.cpp simple_lib.hpp)

add_executable(MyExample simple_example.cpp)

target_link_libraries(MyExample PRIVATE MyLibExample)

 

Podsumowując, CMake jest niezbędnym narzędziem do zarządzania projektami w C++ i C. Umożliwia skonfigurowanie procesu budowy, kompilacji, linkowania i testowania, co znacznie ułatwia pracę programistom. Dzięki niemu możesz dostosować budowę projektu do swoich potrzeb i uniknąć zbędnego powielania kodu. Dlatego właśnie, wiedząc jak ważny jest CMake, uczymy go w naszym kursie. W filmie powyżej znajdziesz ekstrakt z takiej lekcji.

ninjaletter

A może Ninjaletter?

Chcesz wiedzieć, co słychać w C++ i nie tylko? Zapisz się na Ninjaletter i otrzymuj od nas co miesiąc dawkę wartościowych treści o C++ i zadania rekrutacyjne. Do tego dorzucamy darmowe materiały, spoilery o nowych kursach, specjalne promocje dla ninjaletterowiczów i wiele, wiele innych. To co, skusisz się?

Łukasz Ziobroń

Łukasz Ziobroń

Zmieniam ludzi w prawdziwych programistów. W nauczaniu stosuję grywalizację, andragogikę i neurodydaktykę.

Najnowsze artykuły

docker

Narzędzia programisty: Docker w skrócie

Co wspólnego ze sobą mają ogry, cebula i Docker? Poznaj podstawy Dockera i dowiedz się, jak może przyspieszyć Twoją codzienną pracę. Odkryj, dlaczego warto go mieć w swoim arsenale programisty.

Czytaj »
good programming practices

Good programming practices – Coding Dojo

Training in a form of Coding Dojo. Participants start with a code review of a small application. They note down their comments. After that, the trainer presents bad and good programming practices. Participants discuss what can be applied in a reviewed code and start fixing it in a form of Coding Dojo.

Czytaj »

Popular C++ Idioms – Coding Dojo

The training starts with a code review of a small application (pre-work). Participants note their thought and discuss their findings in groups. Then popular C++ idioms are presented (the concept and some code) – about 15-20 minutes each. After that participants need to use some of the idioms in a reviewed application code.

Czytaj »
performance optimisations

Performance optimisations

This training is about writing more robust C++ code and algorithms with the help of CPU caches and a compiler. Benchmarking tools are used to show performance gains.

Czytaj »
ninjaletter

Już uciekasz?

Zanim to zrobisz, zapisz się na Ninjaletter, aby wiedzieć, co piszczy w C++. 

Informujemy, iż w celu realizacji usług dostępnych w naszym serwisie, optymalizacji jej treści, dostosowania strony do Państwa indywidualnych potrzeb oraz wyświetlania, personalizacji i mierzenia skuteczności reklam w ramach zewnętrznych sieci reklamowych korzystamy z informacji zapisanych za pomocą plików cookies na urządzeniach końcowych użytkowników. Pliki cookies można kontrolować za pomocą ustawień swojej przeglądarki internetowej. Dalsze korzystanie z naszego serwisu, bez zmiany ustawień przeglądarki internetowej oznacza, iż użytkownik akceptuje stosowanie plików cookies. Więcej informacji zawartych jest w polityce prywatności serwisu.