Библиотека foo
должна быть построена либо как собственный проект, либо как часть более крупного проекта bar
.Что касается последнего, я не нашел лучшего решения, чем строка (*):
$ cat foo/lib/CMakeLists.txt
...
set(foo_LIBRARY foo PARENT_SCOPE)
...
$ cat foo/CMakeLists.txt
...
add_subdirectory(lib)
set(cerf_LIBRARY ${cerf_LIBRARY} PARENT_SCOPE) # (*)
...
$ cat bar/CMakeLists.txt
...
add_subdirectory(link-to-foo)
...
Теперь сборка bar
работает.Но при построении только foo
я получаю
CMake Warning (dev) at CMakeLists.txt:30 (set):
Cannot set "foo_LIBRARY": current scope has no parent.
Нацеливаясь на нулевые предупреждения в моих проектах, мне нужно лучшее решение.