W naszym projekcie chcemy użyć biblioteki innej firmy (A), która jest zbudowana przy użyciu autotools i która generuje plik obiektowy (B), którego potrzebujemy @ link time jednej z naszych bibliotek (C).Używając cmake, jak połączyć plik obiektowy zbudowany przez instrukcję external_project z inną biblioteką?
external_project(
A
...
)
set_source_files_properties(B PROPERTIES DEPEND A)
add_library(C ... A)
add_dependency(C B)
miałem wrażenie, że powinno to rade, ale polecenie cmake nie stwierdzając, że nie może znaleźć pliku A podczas kontroli na add_library.
Wszelkie poprawki lub alternatywne rozwiązania byłyby mile widziane! (zmiana biblioteki innej firmy nie jest opcją) dzięki!
Wielkie dzięki, doskonała odpowiedź! (Nie miałem zamiaru pisać efektywnego kodu cmake, ale może to byłoby czystsze;)) –
@Fraser Przepraszamy, ale nie rozumiem ... Skąd pochodzi ten "$ {B}"? –
@RaulLuna W pierwotnym pytaniu OP wspomniał, że istnieje plik obiektowy, który nazywa się "B" - zakładam, że jest on zdefiniowany jako zmienna wcześniej w CMakeLists.txt – Fraser