<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Kompilieren und installieren mit CMake</title> </head> <body> <h2>Kompilieren und installieren mit CMake</h2> <p>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.</p> <p>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, <a href="http://www.cmake.org">laden</a> 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 <a href="http://macports.org">Macports</a> auch fertige Installationspakete.</p> <p>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 <a href="install1.html">SVN-Zweig</a> 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.</p> <h3>Vorbereitungen</h3> <p>Nehmen wir folgendes an:</p> <ul> <li>Der Scribus-Quellcode befindet sich in einem Verzeichnis namens <code>/home/username/scribussource/</code> (wobei <i>username</i> Ihr Benutzername ist).</li> <li>CMake ist installiert unter <code>/usr/bin/</code></li> <li>Sie wollen Scribus nach <code>/home/username/scribusinstall/</code> installieren</li> </ul> <h3>Außerhalb des Quellcodeverzeichnisses kompilieren</h3> <p>Wechseln in das Quellcodeverzeichnis:</p> <pre> cd /home/username/scribussource/ </pre> <p>Erstellen Sie in Verzeichnis, in dem Scribus kompiliert wird:</p> <pre> mkdir builddir </pre> <p>Wechseln Sie in das Kompilationsverzeichnis:</p> <pre> cd builddir </pre> <p>Nun geben Sie folgenden Befehl ein:</p> <pre> /usr/bin/cmake ../Scribus -DCMAKE_INSTALL_PREFIX:PATH=/home/username/scribusinstall/ </pre> <p>Sobald CMake erfolgreich war (denken Sie daran, daß es die Abhängigkeiten finden muß), starten Sie den eigentlichen Kompilierungsprozeß:</p> <pre> make && make install </pre> <h2>Fortgeschrittene Optionen</h2> <h3>Kompilierungsoptionen</h3> <p>Einige Optionen, von denen die CMake-Dateien in <b>Scribus 1.4.x</b> wissen (In der Zukunft werden noch mehr dazukommen):</p> <ul> <li><strong>WANT_VERSIONING=1</strong>: Veranlaßt den Compiler dazu, die Scribus-Version an die Installationsverzeichnisse und die ausführbare Binärdatei anzuhängen, z.B. <code>scribus-1.4.0</code>. Dies bedeutet, daß Sie mehrere Versionen nebeneinander installieren können, ohne daß diese sich ins Gehege kommen.</li> <li><strong>WANT_DEBUG=1</strong>: Veranlaßt den Compiler, eine Debug-Version zu erzeugen und -O0 -g3 statt -O2 zu verwenden. (Dies ist momentan die Voreinstellung und kann nicht abestellt werden, es sei denn, Sie bearbeiten die Datei CMakeFiles.txt per Hand).</li> <li><strong>WANT_CAIRO=1</strong> (Voreinstellung): Läßt CMake nach der Cairo-Grafikbibliothek suchen und Scribus mit dieser statt mit der Qt-Bibliothek Arthur kompilieren.</li> <li><strong>WANT_QTARTHUR=1</strong>: Läßt CMake nach der Qt-Bibliothek Arthur suchen und mit dieser statt mit Cairo kompilieren.</li> <li><strong>WANT_NOHEADERINSTALL=1</strong>: Verhindert, daß Header-Dateien installiert werden. Distributoren sollten diese Option nicht verwenden, wenn sie Scribus in mehrere Pakete aufteilen. <li><strong>WANT_NORPATH</strong>: Schaltet einen spezifischen RPATH aus.</li> <li><strong>WANT_DISTROBUILD</strong>: Eine Option für Distributoren.</li> <li><strong>WANT_LIB64</strong>: Erzwingt 64-Bit-Versionen.</li> <li><strong>WANT_RELEASEWITHDEBUG</strong>: Setzt einerseits Release-Flags, schließt aber trotzdem Debug-Informationen mit ein.</li> <li><strong>WANT_UNIVERSAL_BUNDLE</strong>: Nur für Mac OS X; ermöglicht das Kompilieren eines *.app-Pakets.</li> <li><strong>WANT_QT4MAC_COCOA</strong>: Nur für Mac OS X; ermöglicht das Kompilieren einer Cocoa-Version mit Qt4.5+.</li> <li><strong>WANT_QT3SUPPORT</strong>: Aktiviert Qt3-Unterstützung, falls Sie ein Plug-in benutzen, daß noch nicht vollständig nach Qt4 portiert worden ist. Wird nicht für offizielle Scribus-Versionen benötigt.</li> <li><strong>APPLICATION_DATA_DIR</strong>: Legt den Namen des Scribus-Konfigurationsverzeichnisses fest (anstelle der Voreinstellung ~/.scribus unter *nix und /Users/username/Library/Preferences/Scribus unter Mac OS X.)</li> </ul> <p>Beispiel: Um eine Debug-Version mit Cairo zu kompilieren würden Sie etwa folgendes verwenden (alles in einer Zeile):</p> <pre> /usr/bin/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/home/username/scribusinstall -DWANT_CAIRO=1 -DWANT_DEBUG=1 -DWANT_VERSIONING=1 </pre> <h3>Hinweise zu Bibliotheken</h3> <p>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.</p> <h3>Erzeugen eines Tarballs zur Distribution</h3> <p>Die alte Methode hierzu war die Verwendung von <code>make dist</code>.</p> <p>Die neu Methode ist</p> <pre> make package_source </pre> <p>oder</p> <pre> /usr/bin/cpack -G TBZ2 --config CPackSourceConfig.cmake </pre> <p>um ein Quellcodepaket zu erzeugen.</p> <p><strong>Wichtig:</strong> Wenn Sie <code>cpack</code> erneut aufrufen müssen, entfernen Sie zuvor <code>_CPack_Packages/</code>.</p> <h3>Fehlerbehebung und Erfolgsgeschichten</h3> <p>Wenn Sie nach dem Lesen dieser Anleitung immer noch Probleme haben, besuchen Sie uns im <a href="irc.html">IRC</a> oder senden Sie eine E-Mail an eine der <a href="mailing_lists.html">Mailinglisten</a>, 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.</p> <br> </body> </html>