install - descarga - instalar(TARGETS…) y add_subdirectory
install cmake macos (1)
Puedes intentar usar la instalación de archivos en lugar de los objetivos de instalación. El inconveniente es que tendrás que manejar construcciones compartidas y estáticas.
install(FILES gtest-1.5.0/gtest_main.so DESTINATION lib)
¿Es posible usar la instalación (OBJETIVOS ...) con los destinos definidos en los directorios agregados con add_subdirectory?
Mi caso de uso es que quiero construir, por ejemplo, un rpm para gtest. El proyecto gtest tiene un CMakeLists.txt sin ninguna declaración de instalación. Quiero compilar el paquete sin agregar esas declaraciones a CMakeLists.txt de gtest.
Tengo esta estructura de directorio resultante:
+ gtest-1.5.0/...
+ CMakeLists.txt
Las listas CMake de gtest-1.5.0 definen bibliotecas como esta:
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)
ahora quiero agregar algo como esto a mi CMakeLists.txt:
add_subdirectory(gtest-1.5.0)
install(TARGETS gtest gtest_main ARCHIVE DESTINATION lib)
pero cmake dice correctamente:
CMake Error at CMakeLists.txt:10 (install):
install TARGETS given target "gtest" which does not exist in this
directory.
¿Hay una manera de hacer esto sin parchear gtest-1.5.0?