In unserem Projekt wollen wir eine Drittanbieter-Bibliothek (A) verwenden, die mit Hilfe von Autotools erstellt wird und eine Objektdatei (B) erzeugt, die wir @ Link-Zeit einer unserer Bibliotheken (C) benötigen.Verwenden von cmake, wie eine Objektdatei, die von einer external_project-Anweisung erstellt wird, in eine andere Bibliothek verknüpft wird?
external_project(
A
...
)
set_source_files_properties(B PROPERTIES DEPEND A)
add_library(C ... A)
add_dependency(C B)
hatte ich den Eindruck, dass dies den Trick tun soll, aber der Cmake Befehl fehlschlägt mit der Feststellung, dass es nicht Datei A bei der Prüfung für add_library finden.
Alle Fixes oder alternative Lösungen würden sehr geschätzt werden! (Ändern der Third-Party-Bibliothek ist keine Option) danke!
Dank! (Ich hatte nicht vor, effektiven cmake-Code zu schreiben, aber vielleicht wäre das klarer gewesen;)) –
@Fraser Sorry, aber ich verstehe nicht .... Woher kommt dieses "$ {B}" ?? –
@RaulLuna In der ursprünglichen Frage hat das OP erwähnt, dass es eine Objektdatei gibt, die er "B" nennt - ich gehe davon aus, dass es als Variable früher in der CMakeLists.txt definiert ist – Fraser