Próbuję użyć CMake, aby ustawić kilka prostych zależności między projektem C++ i bibliotek, które używa.CMake, jak poprawnie tworzyć zależności między celami
Ustawiona się następująco
- Projekt
- Zależność
Sam projekt zawiera pliki źródłowe, które zawierają nagłówki z uzależnieniem i gdy plik wykonywalny jest zbudowany musi być połączone z biblioteką statyczną Dependency.
Do tej pory mogę to uruchomić, ale muszę ręcznie określić katalogi zależności Dependency w pliku CMakeLists for Project. Chcę, aby to zostało automatycznie wyciągnięte i zbadałem opcję użycia polecenia find_package(), aby osiągnąć ten cel z ograniczonym sukcesem i uczynić rzeczy znacznie bardziej skomplikowanymi.
Wszystko, co chcę zrobić, to mieć zależność zbudowaną przed projektem i mieć link do projektu w stosunku do biblioteki i mieć katalogi z zawartością. Czy istnieje prosty, zwięzły sposób osiągnięcia tego?
Moje obecne pliki CWprowadä:
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)
uzależnienia CMakeLists.txt
project(Dependency)
add_library(Dependency SomethingToCompile.cpp)
target_link_libraries(Dependency)
Zamówienie: http://stackoverflow.com/questions/10004134/cmake-add-dependency-not-in-subdirectory –