Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
build:cmake:create-project [2022/07/01 23:52]
naums
build:cmake:create-project [2022/07/02 12:21]
naums
Zeile 1: Zeile 1:
 ====== Ein Projekt anlegen ====== ====== Ein Projekt anlegen ======
- 
-===== Ein erste Projekt ===== 
  
 Um CMake zu ermöglichen unser Projekt zu bauen müssen wir beschreiben wie unser Projekt übersetzt werden muss. Dazu erstellen wir eine Datei mit dem Namen ''​CMakeLists.txt''​ und beschreiben in einer für CMake verständlichen Skriptsprache,​ alle benötigten Aspekte unseres Programms. Für ein einfache Hello-World Programm (einzige Quelldatei ist main.c) kann diese Datei zum Beispiel so ausschauen: Um CMake zu ermöglichen unser Projekt zu bauen müssen wir beschreiben wie unser Projekt übersetzt werden muss. Dazu erstellen wir eine Datei mit dem Namen ''​CMakeLists.txt''​ und beschreiben in einer für CMake verständlichen Skriptsprache,​ alle benötigten Aspekte unseres Programms. Für ein einfache Hello-World Programm (einzige Quelldatei ist main.c) kann diese Datei zum Beispiel so ausschauen:
  
-<​code>​+<​code ​cmake>
 cmake_minimum_required(VERSION 3.10) cmake_minimum_required(VERSION 3.10)
  
Zeile 13: Zeile 11:
 </​code>​ </​code>​
  
-==== Das Projekt bauen ====+===== Das Projekt bauen =====
  
 Der Vorgang das Projekt nun zu übersetzen besteht aus zwei Schritten: Der Vorgang das Projekt nun zu übersetzen besteht aus zwei Schritten:
Zeile 51: Zeile 49:
 Nun führen wir das Makefile normal aus, womit das Projekt übersetzt und gelinkt wird, und wir erhalten eine ''​hello_world''​ Executable. Nun führen wir das Makefile normal aus, womit das Projekt übersetzt und gelinkt wird, und wir erhalten eine ''​hello_world''​ Executable.
  
-==== Die CMakeLists verstehen ====+===== Die CMakeLists verstehen ​=====
  
 Die obige ''​CMakeLists.txt''​ beinhaltet drei Kommandos: Die obige ''​CMakeLists.txt''​ beinhaltet drei Kommandos:
  
-<​code>​+<​code ​cmake>
 cmake_minimum_required(VERSION 3.10) cmake_minimum_required(VERSION 3.10)
 </​code>​ </​code>​
Zeile 61: Zeile 59:
 Dies gibt die minimale Version von CMake an, mit der dieses CMakefile benutzt werden kann. Das wird vor allem dann interessant,​ wenn Features aktuellerer CMake-Versionen gebraucht werden. Es bietet sich für persönliche Projekte an, einfach die Version des installierten CMakes zu verwenden, für Projekte mit anderen Entwickler\*innen,​ sollte sich auf die minimal vorhandene Version über die vorhandenen Linux-Systeme hinweg geeinigt werden. Damit sind aber auch einige der aktuelleren Features ausgeschlossen,​ weil die mit einem älteren CMake nicht funktionieren. Dies gibt die minimale Version von CMake an, mit der dieses CMakefile benutzt werden kann. Das wird vor allem dann interessant,​ wenn Features aktuellerer CMake-Versionen gebraucht werden. Es bietet sich für persönliche Projekte an, einfach die Version des installierten CMakes zu verwenden, für Projekte mit anderen Entwickler\*innen,​ sollte sich auf die minimal vorhandene Version über die vorhandenen Linux-Systeme hinweg geeinigt werden. Damit sind aber auch einige der aktuelleren Features ausgeschlossen,​ weil die mit einem älteren CMake nicht funktionieren.
  
-<​code>​+<​code ​cmake>
 project(HelloWorld) project(HelloWorld)
 </​code>​ </​code>​
Zeile 67: Zeile 65:
 Diese Zeile gibt dem Projekt einen beliebigen Projektnamen. Diese Zeile gibt dem Projekt einen beliebigen Projektnamen.
  
-<​code>​+<​code ​cmake>
 add_executable(hello_world main.c) add_executable(hello_world main.c)
 </​code>​ </​code>​