Makefiles und CMakeLists.txt(C Programmiersprache)
CMakeLists.txt(C Programmiersprache)
CMake ist ein Open-Source-Build-System, das auf der CMake-Sprache basiert. Es wird verwendet, um Softwareprojekte zu erstellen, zu testen und zu verpacken. CMake ist plattformunabhängig und kann auf verschiedenen Betriebssystemen wie Windows, Linux und macOS verwendet werden. In diesem Artikel werden wir uns ansehen, wie Sie ein CMake-Projekt erstellen und konfigurieren können.
Was ist CMake?
CMake ist ein Build-System, das auf der CMake-Sprache basiert. Es wird verwendet, um Softwareprojekte zu erstellen, zu testen und zu verpacken. CMake ist plattformunabhängig und kann auf verschiedenen Betriebssystemen wie Windows
CMake-Datei erstellen
Um ein CMake-Projekt zu erstellen, müssen Sie eine CMake-Datei namens CMakeLists.txt erstellen. Diese Datei enthält Anweisungen zum Konfigurieren und Erstellen Ihres Projekts. Hier ist ein einfaches Beispiel für eine CMake-Datei:
cmake_minimum_required(VERSION 3.10) # Project name project(MyProgram) # Set C standard set(CMAKE_C_STANDARD 99) # Source files set(SRCS main.c foo.c bar.c) # Add executable add_executable(myprogram ${SRCS})
In diesem Beispiel wird ein einfaches CMake-Projekt erstellt, das aus den Dateien main.c, foo.c und bar.c besteht. Der Projektname wird auf MyProgram festgelegt, und der C-Standard wird auf 99 festgelegt. Schließlich wird ein ausführbares Programm namens myprogram erstellt, das die Quelldateien main.c, foo.c und bar.c enthält.
CMake-Projekt konfigurieren
find_package
Die find_package-Anweisung wird verwendet, um externe Bibliotheken und Pakete zu suchen und zu konfigurieren. Hier ist ein Beispiel für die Verwendung der find_package-Anweisung:
find_package(PkgConfig REQUIRED) pkg_check_modules(GTK4 REQUIRED IMPORTED_TARGET gtk4) add_executable(myprogram main.cpp) target_link_libraries(myprogram PRIVATE PkgConfig::GTK4)
In diesem Beispiel wird die GTK4-Bibliothek gesucht und konfiguriert und die target_link_libraries-Anweisung verknüpft das myprogram-Programm mit der GTK4-Bibliothek.