【发布时间】:2021-03-11 16:45:39
【问题描述】:
是否自动默认递归依赖的包位置与其上面的依赖包相同,还是我们必须确保,即告诉/指示Cmake,引用递归依赖包位置?
找到foobar 包
foreach(FOOB foo bar)
find_library(FOO_${FOOB}_LIBRARY ${FOOB}
HINTS
"/usr"
PATH_SUFFIXES
lib/
)
if(FOO_${FOOB}_LIBRARY)
list(APPEND FOO_LIBRARIES ${FOO_${FOOB}_LIBRARY})
endif()
endforeach()
…
…
find_package_handle_standard_args(foobar
REQUIRED_VARS
FOO_LIBRARIES
)
和
foo.so 取决于:baz.so
bar.so 取决于:baz.so
baz.so会被Cmake规则自动在/usr/lib下找到,或者用什么语法来保证和命令Cmake去做?
【问题讨论】:
-
"baz.so 将通过 Cmake 规则自动在 /usr/lib 下找到" - 您显示的代码没有搜索
baz.so,所以我不明白什么是“自动找到”方法。 “foo.so取决于:baz.so” - 也就是说,foo.so与baz.so有链接?如果是,那么与foo.so链接将自动与baz.so链接。这不是 CMake 功能,而是链接器功能。
标签: cmake dependencies