Как выразить зависимость от библиотеки и ее включений с помощью одной команды CMake? - PullRequest
0 голосов
/ 31 октября 2018

Я знаю, что в CMake 3 и более поздних версиях цели имеют всевозможные свойства или атрибуты, которые можно установить (с видимостью PRIVATE, PUBLIC или INTERFACE), и что теоретически простое указание одной цели зависит от другой цели, может позаботиться обо всем для меня.

Но как мне это сделать на практике? В частности, предположим, что у меня есть:

ExternalProject_Add(foo_project 
    PREFIX          CMakeFiles/foo_project
    TMP_DIR         CMakeFiles/foo_project/tmp 
    STAMP_DIR       CMakeFiles/foo_project/stamp 
    GIT_REPOSITORY  git@github.com:joeuser/foo.git
    GIT_TAG         8d6e40a6c6c5a634a656b00f15e118968d01476e
    UPDATE_COMMAND  ""    
    SOURCE_DIR      "${BASE_DIR_FOR_THIRD_PARTY_CODE}/foo"
    BUILD_IN_SOURCE 1   
    INSTALL_COMMAND ""  
)

И у меня есть некоторый исполняемый файл bar, созданный из bar.cpp - включая заголовки foo и ссылки на библиотеки foo. Какой правильный способ настроить это?

...