Можно ли использовать install (TARGETS...) с целями, которые определены в каталогах, добавленных с помощью add_subdirectory?
Мой вариант использования - это то, что я хочу построить, например, rpm для gtest. у самого проекта есть CMakeLists.txt без каких-либо инструкций установки. Я хочу создать пакет без добавления этих операторов в CMakeLists.txt из gtest.
У меня есть эта структура каталогов:
+ gtest-1.5.0/...
+ CMakeLists.txt
CMakeLists из gtest-1.5.0 определяет библиотеки следующим образом:
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)
теперь я хочу добавить что-то вроде этого в мой CMakeLists.txt:
add_subdirectory(gtest-1.5.0)
install(TARGETS gtest gtest_main ARCHIVE DESTINATION lib)
но cmake правильно заявляет:
CMake Error at CMakeLists.txt:10 (install):
install TARGETS given target "gtest" which does not exist in this
directory.
Есть ли способ сделать это без патча gtest-1.5.0?