Я пытаюсь использовать CMake, чтобы установить некоторые простые зависимости между проектом C ++ и библиотеками, которые он использует.
Настройка выглядит следующим образом
Сам проект содержит исходные файлы с заголовками из Dependency
, и когда исполняемый файл создается, его необходимо связать со статической библиотекой Dependency
.
Пока я могу заставить это работать, но я должен указать каталоги включения Dependency
в файле CMakeLists.txt
для Project
вручную. Я хочу, чтобы это было удалено автоматически, и я исследовал возможность использования команды find_package()
, чтобы сделать это с ограниченным успехом и усложнить ситуацию.
Все, что я хочу сделать, - это построить Dependency
до Project
, иметь Project
ссылку на библиотеку и иметь включенные каталоги. Есть ли простой лаконичный способ достижения этого?
Мои текущие файлы CMake:
Project
, файл 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)
Dependency
, файл CMakeLists.txt
:
project(Dependency)
add_library(Dependency SomethingToCompile.cpp)
target_link_libraries(Dependency)