Projemizde, ototools kullanılarak oluşturulmuş ve kütüphanelerimizden birinin (C) bir bağlantı zamanına ihtiyaç duyduğumuz bir nesne dosyası (B) oluşturan bir üçüncü taraf kitaplığı (A) kullanmak istiyoruz. cmake'yi kullanarak, bir external_project ifadesi tarafından oluşturulmuş bir nesne dosyasını başka bir kütüphaneye nasıl bağlarsınız?
external_project(
A
...
)
set_source_files_properties(B PROPERTIES DEPEND A)
add_library(C ... A)
add_dependency(C B)
Bu hile yapmak gerekir izlenimi vardı, ama cmake komut o add_library için kontrol sırasında dosya A bulamadığını belirterek başarısız olur.
Herhangi bir düzeltme veya alternatif çözüm çok takdir edilecektir! (üçüncü taraf kütüphanesini değiştirmek bir seçenek değildir) teşekkürler!
teşekkür çok mükemmel cevap:
Sana böyle bir şey yapmak zorunda gidiyoruz düşünüyorum! (Ben etkili cmake kodu yazmak niyetinde değildi, ama belki daha açık olurdu;)) –
@Fraser Üzgünüz, ama anlamıyorum .... Bu nereden "$ {B}" nereden geliyor? –
@RaulLuna Özgün soruda, OP, "B" olarak adlandırılan bir nesne dosyasının varlığından bahsetmişti - bunun, CMakeLists.txt dosyasında daha önce bir değişken olarak tanımlandığını farz ediyorum. – Fraser