Как отобразить переменные CMake из файла FooConfig.cmake в CMake GUI? - PullRequest
0 голосов
/ 17 февраля 2020

Я недавно начал использовать современные принципы CMake и включать файлы Config в свои проекты.

Несмотря на то, что я могу использовать один из моих проектов, скажем, Foo, как зависимость от другого, скажем, Bar, я не могу видеть переменные проекта foo в инструментах, как CMake GUI при сборке Бар проекта.

Однако пути правильно найдены и зависимый проект создается правильно. Кто-нибудь знает, что я скучаю?

Это пример файла FooConfig.cmake.in:

# - Config file for the foo package
# It defines the following variables
#  Foo_INCLUDE_DIRS - include directories for Foo
#  Foo_LIBRARY_DIRS - library directories for Foo (normally not used!)
#  Foo_LIBRARIES    - libraries to link against

@PACKAGE_INIT@

# Tell the user project where to find our headers and libraries
set_and_check(Foo_INCLUDE_DIRS "@Foo_INSTALL_INCLUDEDIR@")
set_and_check(Foo_LIBRARY_DIRS "@Foo_INSTALL_LIBDIR@")

include_directories (${Foo_INCLUDE_DIRS})

include("${CMAKE_CURRENT_LIST_DIR}/FooTargets.cmake")

check_required_components("Foo")

set(foo_LIBRARIES Foo)

Заранее спасибо.

1 Ответ

0 голосов
/ 17 февраля 2020

CMake GUI показывает только те переменные, которые кэшированы , которые определены с помощью опции CACHE. Поскольку ваш FooConfig.cmake не устанавливает переменную как кэшированную, они не появляются в GUI.

На самом деле, есть небольшой смысл определять эти переменные как переменные CACHE: переменные CACHE предназначены для быть изменяемым пользователем , и это не ваш случай.

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