Kompilieren und installieren mit CMake

Nachdem viele Jahre lang das Autotools-System verwendet wurde, haben die Scribus-Entwickler sich für CMake als Ersatz entschieden, denn es ist wesentlich flexibler und weniger komplex. Es ist außerdem kompatibel mit den Standardwerkzeugen unter Linux, UNIX, Windows, OS/2 und Mac OS X.

Um mit CMake zu kompilieren, benötigen Sie natürlich CMake selbst. Die meisten Linux- und einige UNIX-Distributionen bieten Standardpakete des Programms an. Falls nicht, laden Sie den Quellcode herunter, und stellen Sie sicher, daß Sie eine halbwegs aktuelle Version erwischt haben (2.8 oder höher). Mac OS X-Anwender finden unter der o.g. Adresse oder bei Macports auch fertige Installationspakete.

Einer der Vorzüge von CMake ist, daß man damit außerhalb des Quellcodeverzeichnisses kompilieren kann, d.h. die Anwendungsdaten sowie die beim Kompilieren erzeugten temporären Dateien kommen nie mit den Dateien in Berührung, die sich im Quellcodeverzeichnis befinden. Dadurch bleibt die Verzeichnisstruktur sauber und reduziert die Downloadzeiten, wenn Sie einen SVN-Zweig aktualisieren. Diese Art des Kompilierens wird vom Scribus-Team unbedingt empfohlen. CMake ist für die Entwickler außerdem leichter zu pflegen, und Fehlermeldungen können auch von einfachen Sterblichen verstanden werden.

Vorbereitungen

Nehmen wir folgendes an:

Außerhalb des Quellcodeverzeichnisses kompilieren

Wechseln in das Quellcodeverzeichnis:

cd /home/username/scribussource/

Erstellen Sie in Verzeichnis, in dem Scribus kompiliert wird:

mkdir builddir

Wechseln Sie in das Kompilationsverzeichnis:

cd builddir

Nun geben Sie folgenden Befehl ein:

/usr/bin/cmake ../Scribus -DCMAKE_INSTALL_PREFIX:PATH=/home/username/scribusinstall/

Sobald CMake erfolgreich war (denken Sie daran, daß es die Abhängigkeiten finden muß), starten Sie den eigentlichen Kompilierungsprozeß:

make && make install

Fortgeschrittene Optionen

Kompilierungsoptionen

Einige Optionen, von denen die CMake-Dateien in Scribus 1.4.x wissen (In der Zukunft werden noch mehr dazukommen):

Beispiel: Um eine Debug-Version mit Cairo zu kompilieren würden Sie etwa folgendes verwenden (alles in einer Zeile):

/usr/bin/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/home/username/scribusinstall -DWANT_CAIRO=1 -DWANT_DEBUG=1 -DWANT_VERSIONING=1

Hinweise zu Bibliotheken

Sobald eine Distribution eine neue Version einer Bibliothek veröffentlicht, die von Scribus benötigt wird, kann es sein, daß dies längst nicht die allerneueste Version ist. Manchmal müssen die Scribus-Entwickler auf eine solche brandaktuelle Version zurückgreifen, um Scribus zu verbessern. In einem solchen Fall müssen Sie die Bibliothek selbst kompilieren, wenn Sie in den Genuß der Verbesserung kommen wollen.

Erzeugen eines Tarballs zur Distribution

Die alte Methode hierzu war die Verwendung von make dist.

Die neu Methode ist

make package_source

oder

/usr/bin/cpack -G TBZ2 --config CPackSourceConfig.cmake

um ein Quellcodepaket zu erzeugen.

Wichtig: Wenn Sie cpack erneut aufrufen müssen, entfernen Sie zuvor _CPack_Packages/.

Fehlerbehebung und Erfolgsgeschichten

Wenn Sie nach dem Lesen dieser Anleitung immer noch Probleme haben, besuchen Sie uns im IRC oder senden Sie eine E-Mail an eine der Mailinglisten, in der Sie genauer beschreiben, was Ihr Problem ist. Wir sind auch daran interessiert, von Anwendern zu hören, die Scribus erfolgreich auf Nicht-Linux-Plattformen kompiliert haben.