CMake: передать имя библиотеки прародителю, но только если прародитель существует - PullRequest
0 голосов
/ 29 сентября 2018

Библиотека 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.

Нацеливаясь на нулевые предупреждения в моих проектах, мне нужно лучшее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...