Nächste Überarbeitung | Vorhergehende Überarbeitung |
software:cmake:start [2013-09-03 17:02] – angelegt zueger1 | software:cmake:start [2020-10-21 09:10] (aktuell) – Urs Graf |
---|
* [[http://rachid.koucha.free.fr/tech_corner/cmake_manual.html | Praktische Beispiele]] | * [[http://rachid.koucha.free.fr/tech_corner/cmake_manual.html | Praktische Beispiele]] |
* [[.:CMake & TFS | Notizen zu CMake und TFS]] | * [[.:CMake & TFS | Notizen zu CMake und TFS]] |
| * [[.:CMakeQVTK | Notizen zu CMake VTK und QT]] |
| |
===== Best Practices & Tipps ===== | ===== Best Practices & Tipps ===== |
| |
Die nachfolgende Grafik zeigt grob die Verzeichnisse, welche in einer CMake-Umgebung vorhanden sind und deren wichtigste Inhalte. Aus dem Quellverzeichnis wird mittels CMake das Ausgabeverzeichnis (Binary dir) erzeugt. Es enthält die Werte der Konfiguration, sowie die Ergebnisse von Tests (z.B. Endianess) und Dateien für die Einbindung in andere CMake-Projekte. Letztere müssen jedoch durch den Benutzer erzeugt werden (siehe [[#Export von Projekten]]). Durch die Installation wird die Software üblicherweise ins Zielsystem installiert (z.B. Ablage nach C:/Program Files/xyz unter Windows). Dieser Schritt kann jedoch auch dazu verwendet werden, um alle benötigten Zusatzbilbiotheken ins Zielverzeichnis zu kopieren. Die Installation enthält relative Pfade und ist somit unabhängig vom Zielsystem. | Die nachfolgende Grafik zeigt grob die Verzeichnisse, welche in einer CMake-Umgebung vorhanden sind und deren wichtigste Inhalte. Aus dem Quellverzeichnis wird mittels CMake das Ausgabeverzeichnis (Binary dir) erzeugt. Es enthält die Werte der Konfiguration, sowie die Ergebnisse von Tests (z.B. Endianess) und Dateien für die Einbindung in andere CMake-Projekte. Letztere müssen jedoch durch den Benutzer erzeugt werden (siehe [[#Export von Projekten]]). Durch die Installation wird die Software üblicherweise ins Zielsystem installiert (z.B. Ablage nach C:/Program Files/xyz unter Windows). Dieser Schritt kann jedoch auch dazu verwendet werden, um alle benötigten Zusatzbilbiotheken ins Zielverzeichnis zu kopieren. Die Installation enthält relative Pfade und ist somit unabhängig vom Zielsystem. |
[{{ .:cmakeablauf.png?600 | CMake Ablauf}}] | |
| |
==== Konfiguration ==== | ==== Konfiguration ==== |
</code> | </code> |
| |
=== Achtung statische Bibliotheken === | <box 90% | IMPORTANT Achtung statische Bibliotheken> |
Werden statische Bilbiotheken gelinkt, so enthält der Export zwar die Information der Abhängigkeit, jedoch nicht den Standort der Bibliotheken. Um dies zu beheben, wird im *-config File ein //find_package// für die statische Bibliothek eingefügt. | Werden statische Bilbiotheken gelinkt, so enthält der Export zwar die Information der Abhängigkeit, jedoch nicht den Standort der Bibliotheken. Um dies zu beheben, wird im *-config File ein //find_package// für die statische Bibliothek eingefügt. |
| </box> |
| |
==== Install Scripts ==== | ==== Install Scripts ==== |