CMake und finden Sie andere Projekte und ihre Abhängigkeiten
Stellen Sie sich Folgendes Szenario vor: Ein Projekt ist eine shared-library, die hat mehrere Abhängigkeiten (LibA, LibB, LibC). Projekt B ist eine ausführbare Datei, die eine Abhängigkeit von Projekt und erfordert daher alle Projekt die Abhängigkeiten auch um zu bauen.
Darüber hinaus beide Projekte sind gebaut mit CMake, und Ein Projekt soll nicht installiert werden müssen (über die "install" - Ziel), um für das Projekt B zu verwenden, da dies zu einem ärgernis für Entwickler.
Die Frage ist also, was ist der beste Weg, um zu lösen diese Abhängigkeiten mit CMake? Die ideale Lösung wäre so einfach wie möglich (aber nicht einfacher), und erfordern nur minimale Wartung.
InformationsquelleAutor der Frage blockchaindev | 2013-05-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfach. Hier ist das Beispiel aus der Spitze von meinem Kopf:
Die top-level -
CMakeLists.txt
:CMakeLists.txt
imcomponents/B
:CMakeLists.txt
imcomponents/C
:CMakeLists.txt
imcomponents/A
:CMakeLists.txt
imcomponents/Executable
:Deutlich zu machen, hier ist die entsprechende source-tree Struktur:
Gibt es viele Punkte, wo dieser sein könnte verändert/angepasst oder geändert zu befriedigen bestimmte Bedürfnisse, aber dies sollte Sie wenigstens begonnen.
HINWEIS: habe ich erfolgreich eingesetzt, diese Struktur in mehrere mittlere und große Projekte.
InformationsquelleAutor der Antwort Alexander Shukaev
Es kann auch getan werden, mit den CMake -
Cache
Mechanismus, um das gleiche zu erreichen (z.B. Austausch von Projekt-spezifische Variablen).Finden - https://stackoverflow.com/a/19859882/4361073
InformationsquelleAutor der Antwort parasrish