Quantcast
Channel: bitmarker
Viewing all articles
Browse latest Browse all 12

CMake Tutorial für C/C++ Entwickler (+Screencast)

$
0
0

In diesem Tutorial zeiche ich Euch, wie einfach CMake zu erlernen ist und wie viele Vorteile es für Eure Softwareentwicklung mitbringt. Ihr könnt damit den Quellcode modular verwalten, Bedingungen und Automatismen in den Build-Prozess integrieren. Das macht das Leben des Softwareentwicklers noch ein Bisschen einfacher 🙂

Voraussetzungen

Alle hier gezeigten Schritte setzen ein Unix/Linux Betriebssystem voraus. Wie und ob das Tutorial unter Windows kompilieren wird, kann ich nicht sagen.

CMake kann als Paket in Ubuntu/Debian installiert werden:

sudo apt install cmake

CMakeLists.txt

Im Grunde besteht CMake aus zwei Teilen, die man als Entwickler kennenlernen muss: CMakeLists.txt und der Befehlt cmake. Bereits eine leere CMakeLists.txt würde ausreichen. Aber auch wenig Sinn ergeben.

In dieser besonderen Datei stehen die Anweisungen von CMake: Die eigene Skriptsprache von CMake, die eine Ähnlichkeit mit Bash-Skripten aufweist.

Wenn man in einem Ordner eine CMakeLists.txt angelegt hat und in der Konsole

cmake .

ausführt, dann erzeugt CMake einige Dateien. Diese Dateien würden den Arbeitsordner vollmüllen und sollten daher in dem z.B. build-Ordner generiert werden.

Aufbau des Beispielprojektes

Ich möchte, dass Ihr mit diesem Tutorial nicht nur CMake kennenlernt, sondern einen Startpunkt für Eure C/C++ Projekte bekommt. Daher ist das Beispielprojekt so strukturiert, wie ich ihn auch für meine Arbeit benutzen würde. Ihr folgt damit einigen Konventionen, die sich bei mir eingebürgert haben, Ihr aber natürlich nicht übernehmen müsst. Gleich hier der Link zu Github:

https://github.com/bitmarker/cmaketutorial

Ordnestruktur

  • src: Eure Quellcode-Dateien
  • tests: Na eben die Tests
  • build: Temp-Verzeichnis von CMake – kann jederzeit gelöscht werden
  • dist: Fertige Software – kann jederzeit gelöscht werden

Skripte

  • build.sh: Baut die Software
  • clean.sh: Säubert den Ordner, sprich löscht build und dist
  • rebuild.sh: Baut die Software neu
  • prepare.sh: Bereitet die Umgebung vor, z.B. Installation von cmake

Ablauf

Wenn man die Software bauen oder neu bauen möchte, ruft man die build.sh auf. Dabei erstellt das Skript einen Build-Ordner und wechselt in ihn. Somit bleiben alle von CMake erstellten Dateien in dem Build-Ordner und müllen den Hauptordner nicht zu.

Als erstes erstellt CMake eine Makefile und kompiliert damit überhaupt keinen Quellcode. Das muss man schon selber mit dem Befehl make machen. Mit der build.sh wird dieser Schritt natürlich auch automatisiert.

Da ein Video mehr sagt als Tausend Worte, der Screencast:


Viewing all articles
Browse latest Browse all 12

Latest Images

Trending Articles



Latest Images