Я использую стороннюю библиотеку rbdl, которая содержит rbdl.pc.cmake, который, как я полагаю, ' включен для использования pkg_check_modules
в файле cmake.
Я обновляю PKG_CONFIG_PATH
, чтобы он указывал на папку rbdl
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:${CMAKE_BINARY_DIR}/externals/rbdl")
pkg_check_modules(RBDL rbdl)
но pkg_check_modules
говорит, что не может найти модуль.
Когда я вручную дублирую rbdl.pc.cmake, переименовываю копию в rbdl.pc и запускаю pkg-config --cflags --libs rbdl
в терминале, мой cmake тоже начинает работать!
Интересно, что теперь, даже если я удалю rbdl.pc, модуль rbdl будет найден с помощью rbdl.pc.cmake!
Итак, мои вопросы:
- В чем разница между *.pc и *.pc.cmake?
- Как правильно настроить cmake для работы с оригинальным rbdl.pc.cmake?
- Почему rbdl.pc.cmake начинает приниматься
pkg_check_modules
после этой настройки с его дублированием, переименованием копии и запуском pkg-config вручную?