que estoy tratando de utilizar CMake para establecer algunas dependencias simples entre un proyecto de C++ y las bibliotecas que utiliza.CMake cómo crear correctamente las dependencias entre los objetivos
La puesta en marcha es el siguiente
- Proyecto
- Dependencia
Proyecto en sí contiene archivos de origen que incluyen las cabeceras de Dependencia y cuando el ejecutable se genera necesita estar vinculado a la biblioteca estática de Dependency.
Hasta ahora puedo hacer que esto funcione pero tengo que especificar los directorios de inclusión de Dependencia en el archivo CMakeLists para Proyecto manualmente. Quiero que esto se elimine automáticamente y he explorado la opción de usar el comando find_package() para hacerlo con un éxito limitado y hacer las cosas mucho más complicadas.
Todo lo que quiero hacer es tener Dependencia construida antes del Proyecto y tener el enlace Proyecto contra la biblioteca y tener sus directorios de inclusión. ¿Hay una forma simple y concisa de lograr esto?
Mis archivos actuales de cmake:
PROYECTO, CMakeLists.txt:
cmake_minimum_required (VERSION 2.6)
project (Project)
include_directories ("${PROJECT_SOURCE_DIR}/Project")
add_subdirectory (Dependency)
add_executable (Project main.cpp)
target_link_libraries (Project Dependency)
add_dependencies(Project Dependency)
dependencia, CMakeLists.txt
project(Dependency)
add_library(Dependency SomethingToCompile.cpp)
target_link_libraries(Dependency)
Pedido: http://stackoverflow.com/questions/10004134/cmake-add-dependency-not-in-subdirectory –