Yükleme (TARGETS ...) add_subdirectory ile eklenen dizinlerde tanımlanan hedeflerle kullanmak mümkün mü?install (TARGETS ...) ve add_subdirectory
Kullanım durumum, e.gg dosyasını gt için bir rpm oluşturmak istiyorum. gtest projesi herhangi bir kurulum ifadesi olmadan bir CMakeLists.txt dosyasına sahip olur. Bu ifadeleri gtest'in CMakeLists.txt dosyasına eklemeden paketi oluşturmak istiyorum.
Bu çıkan dizin yapısı vardır:
+ gtest-1.5.0/...
+ CMakeLists.txt
GTEST-1.5.0 ait CMakeLists böyle kütüphaneleri tanımlar:
cxx_static_library(gtest "${cxx_strict}" src/gtest-all.cc)
cxx_static_library(gtest_main "${cxx_strict}" src/gtest_main.cc)
target_link_libraries(gtest_main gtest)
şimdi benim CMakeLists böyle bir şey eklemek istiyorum. txt:
add_subdirectory(gtest-1.5.0)
install(TARGETS gtest gtest_main ARCHIVE DESTINATION lib)
ama cmake düzgün devletleri:
CMake Error at CMakeLists.txt:10 (install):
install TARGETS given target "gtest" which does not exist in this
directory.
Bunu gtest-1.5.0 yama olmadan yapmanın bir yolu var mı?
Tamam .. Bu işe yarayabilir, ama target_link_libraries tanımlanan adları kullanın ve komutları yükleyemezsiniz neden ben, anlamıyorum! – Gizmomogwai
Yükleme komutu, tüm hedefleri taranan target_link_libraries'in aksine, bir hedefin var olup olmadığını belirlerken yalnızca geçerli dizine bakar. – RobertJMaynard
Tamam ... açıklama için teşekkürler, böyle bir şey düşündüm, ama emin değilim (Eğer yükleme (FILES ARCHIVE parametresini almaz çünkü) (FILES komutunu düzenleyebilir misin). – Gizmomogwai