Mit cmake in Linux

662
Widgeteye The Terrible

Ich mag cmake nicht. Nun, da das gesagt ist, hier ist die Frage;

1) Wie kann ich die Konfiguration mit cmake optimieren? Verwenden Sie make alles, was erforderlich ist, configure --help, um vor dem Ausführen von make Befehle zum Einrichten der Konfiguration zu erhalten. Wie wird das mit cmake gemacht oder ist das überhaupt möglich?

2) Mit make kann ich ein Installationspaket für meine Distribution erstellen, mit DESTDIR = / directory / build / install, und die Dateien werden in / directory / build installiert. Dann gehe ich leicht in / build und mache das Paket für die Programminstallation und Entfernen Sie ggf. später, aber mit cmake sehe ich keine Möglichkeit, dies zu tun, und das Programm ist nicht entfernbar.

Ich vermute, es gibt einen Weg, diese Dinge zu tun, die ich bisher noch nicht gefunden habe. Vielen Dank

1

1 Antwort auf die Frage

2
brm

Angenommen, Sie haben ein Quellpaket extrahiert, project-1.0.0.tar.gzdas ein Verzeichnis mit einem ähnlichen Namen erstellt hat. Wenn ich cmake verwende, erstelle ich normalerweise ein Verzeichnis, buildin dem die .oDateien usw. gespeichert werden, um das Quellverzeichnis nicht zu verunreinigen:

/home/user/project-1.0.0> mkdir build /home/user/project-1.0.0> cd build 

Von diesem Verzeichnis aus führe ich dann ccmake aus (das ist mit zwei c's), das ist die ncurses-Schnittstelle zur cmake-Konfiguration. Da Sie angeben müssen, wo sich die Haupt-CMakeLists.txt befindet, wäre der Befehl in diesem Beispiel

/home/user/project-1.0.0/build> ccmake .. 

Dadurch wird die Benutzeroberfläche gestartet, die zunächst nichts anzeigt.

Dann müssen Sie 'c' (configure) drücken, damit cmake die Dinge herausfinden kann. Danach sollten mehrere cmake-Variablennamen mit ihrem Wert angezeigt werden. Sie müssen sie wahrscheinlich nicht ändern. Ich füge normalerweise nur die CMAKE_BUILD_TYPEVariable ein und setze sie auf release(für optimierte Compilereinstellungen).

Sie müssen mindestens ein weiteres Mal (c) drücken (möglicherweise mehr, je nachdem, was das cmake-Skript tut), bis alle *Werte der Variablen verschwunden sind. Dann können Sie "g" drücken, um die Makefiles zu erstellen.

Wenn die Makefiles erstellt werden, funktioniert wahrscheinlich alles wie erwartet. Sie können tun make, make install, make install DESTDIR=/my/new/dest/dir.

Neben der ncurses-Benutzeroberfläche gibt es auch eine Qt-basierte Benutzeroberfläche.