我知道,在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.cpp构建的可执行文件bar-包括foo的头文件以及与foo库的链接。进行此设置的正确方法是什么?